Як завантажити публічний ключ SSH на існуючий VPS
Використання SSH-ключів у AlexHost – один з найбезпечніших і найефективніших способів автентифікації. Якщо у вас вже є VPS і ви хочете перейти на використання SSH-ключів (або додати новий ключ), це простий процес, який підвищує безпеку, дозволяючи входити без пароля. У цьому посібнику ми розповімо, як завантажити публічний ключ SSH на існуючий VPS, щоб забезпечити безпеку і простоту входу в систему в майбутньому.
Навіщо використовувати SSH-ключі?
SSH-ключі широко використовуються для захисту доступу до віддалених серверів. Вони мають кілька переваг над традиційними паролями:
- Надійніший захист: SSH-ключі використовують криптографічну автентифікацію, яку значно складніше зламати, ніж навіть надійні паролі.
- Вхід без пароля: Після налаштування SSH-ключі дозволяють входити на сервер без введення пароля.
- Захист від атак грубої сили: Усуваючи паролі, SSH-ключі запобігають атакам грубої сили, спрямованим на вгадування облікових даних для входу.
Необхідні умови
Перш ніж почати, вам знадобиться
- Доступ до існуючого VPS: Це означає, що ви можете увійти на VPS за допомогою SSH, ймовірно, з паролем.
- Пара ключів SSH: Якщо у вас її немає, ми розповімо, як її згенерувати.
- Базові знання команд SSH: Знайомство з інтерфейсом командного рядка (CLI) є обов’язковим.
Крок 1: Згенеруйте пару ключів SSH (якщо у вас її немає)
Якщо у вас ще немає пари ключів SSH на локальній машині, ви можете створити її. Ось як це зробити:
Відкрийте термінал на вашому комп’ютері (macOS або Linux) і виконайте наступну команду:
Ця команда створить пару ключів RSA-шифрування довжиною 4096 біт. Під час процесу вам буде запропоновано вказати, куди зберегти ключ:
- Натисніть Enter, щоб зберегти ключ у місце за замовчуванням(~/.ssh/id_rsa).
- За бажанням, додайте парольну фразу для додаткового рівня безпеки (рекомендується) або натисніть Enter, щоб пропустити цей крок.
Цей процес створить два файли:
- id_rsa: ваш приватний ключ (зберігайте його в безпеці і ніколи не передавайте іншим особам).
- id_rsa.pub: Ваш публічний ключ (саме його ви завантажите на сервер).
Далі покажіть публічний ключ, щоб ви могли його скопіювати:
ssh root@ваш_vps_ip
Скопіюйте результат (ваш відкритий ключ), оскільки він знадобиться вам на наступному кроці.
Крок 2: Увійдіть до свого VPS
Щоб додати ваш новий публічний ключ SSH до віртуальної машини, вам потрібно буде увійти до неї поточним методом (за допомогою пароля або наявного ключа). Відкрийте термінал і запустіть його:
Замініть your_vps_ip на фактичну IP-адресу вашого VPS. Якщо ви входите під іншим обліковим записом (не root), замініть root на відповідне ім’я користувача.
Крок 3: Створіть каталог .ssh (якщо він не існує)
Увійшовши до системи, переконайтеся, що каталог.ssh існує для вашого облікового запису користувача. Якщо його не існує, створіть його за допомогою наступної команди:
Ця команда створює каталог .ssh і встановлює правильні дозволи, щоб тільки поточний користувач мав до нього доступ.
Крок 4: Додайте відкритий ключ до файлу authorized_keys
Тепер, коли у вас є каталог .ssh, вам потрібно завантажити ваш відкритий ключ SSH на VPS, додавши його до файлу authorized_keys. Цей файл містить публічні ключі, які дозволено використовувати для автентифікації на сервері.
- Відкрийте файл authorized_keys за допомогою текстового редактора, наприклад, nano:
Якщо файл не існує, ця команда створить його.
- Вставте ваш публічний SSH-ключ (той, який ви скопіювали з id_rsa.pub раніше) у файл. Клацніть правою кнопкою миші або скористайтеся функцією вставки терміналу, щоб вставити ключ.
- Збережіть і закрийте файл, натиснувши клавіші Ctrl X, потім Y і натисніть Enter.
- Встановіть правильні права доступу до файлу authorized_keys:
Цей крок гарантує, що файл буде доступний лише поточному користувачеві.
Крок 5: Тестування входу за допомогою ключа SSH
Після додавання ключа SSH до VPS вам слід протестувати налаштування, щоб переконатися, що ви можете увійти без пароля.
- Вийдіть з поточного сеансу SSH, набравши :
- Тепер спробуйте знову увійти на VPS, використовуючи свій SSH-ключ:
Якщо все налаштовано правильно
- ви будете авторизовані на VPS без запиту пароля.
Крок 6 (необов’язковий): Відключення парольної аутентифікації
Для додаткової безпеки ви можете вимкнути автентифікацію за допомогою пароля, дозволивши доступ до VPS лише користувачам з SSH-ключем. Цей крок є необов’язковим, але рекомендується для середовищ, де безпека є пріоритетом.
Щоб вимкнути парольну автентифікацію:
- Відкрийте конфігураційний файл SSH на вашому VPS:
- Знайдіть у файлі конфігурації наступні рядки і переконайтеся, що вони налаштовані наступним чином:
- Збережіть і закрийте файл, натиснувши клавіші Ctrl X , потім Y, і натисніть Enter.
- Перезапустіть службу SSH, щоб застосувати зміни:
Тепер тільки користувачі з дійсним SSH-ключем зможуть увійти на VPS.
Крок 7: Керування кількома SSH-ключами
Якщо ви керуєте кількома VPS або віддаленими серверами, вам може знадобитися впорядкувати ключі SSH і налаштувати файл ~/.ssh/config для зручності. Ось приклад конфігурації, яка дозволяє вказати різні ключі SSH для різних серверів:
Після додавання цих даних до конфігураційного файлу SSH(~/.ssh/config) ви можете просто увійти за допомогою:
Висновок
Додавання публічного ключа SSH до існуючого VPS значно підвищує безпеку вашого віддаленого сервера, спрощуючи процес входу в систему. Дотримуючись цієї інструкції, ви зможете легко завантажити публічний ключ SSH і налаштувати свій VPS для входу без пароля. Для додаткової безпеки ви можете повністю вимкнути автентифікацію за допомогою пароля, щоб лише авторизовані SSH-ключі могли отримати доступ до вашого VPS. Таке налаштування не тільки захистить ваш сервер від несанкціонованого доступу, але й спростить ваш робочий процес, усунувши необхідність вводити паролі під час кожного входу.