Як завантажити публічний ключ SSH на існуючий VPS ⋆ ALexHost SRL

Перевірте свої навички на всіх наших хостингових послугах та отримайте знижку 15%!

Використовуйте код під час оформлення замовлення:

Skills
21.01.2025
No categories

Як завантажити публічний ключ SSH на існуючий VPS

Використання SSH-ключів у AlexHost – один з найбезпечніших і найефективніших способів автентифікації. Якщо у вас вже є VPS і ви хочете перейти на використання SSH-ключів (або додати новий ключ), це простий процес, який підвищує безпеку, дозволяючи входити без пароля. У цьому посібнику ми розповімо, як завантажити публічний ключ SSH на існуючий VPS, щоб забезпечити безпеку і простоту входу в систему в майбутньому.

Навіщо використовувати SSH-ключі?

SSH-ключі широко використовуються для захисту доступу до віддалених серверів. Вони мають кілька переваг над традиційними паролями:

  • Надійніший захист: SSH-ключі використовують криптографічну автентифікацію, яку значно складніше зламати, ніж навіть надійні паролі.
  • Вхід без пароля: Після налаштування SSH-ключі дозволяють входити на сервер без введення пароля.
  • Захист від атак грубої сили: Усуваючи паролі, SSH-ключі запобігають атакам грубої сили, спрямованим на вгадування облікових даних для входу.

Необхідні умови

Перш ніж почати, вам знадобиться

  1. Доступ до існуючого VPS: Це означає, що ви можете увійти на VPS за допомогою SSH, ймовірно, з паролем.
  2. Пара ключів SSH: Якщо у вас її немає, ми розповімо, як її згенерувати.
  3. Базові знання команд SSH: Знайомство з інтерфейсом командного рядка (CLI) є обов’язковим.

Крок 1: Згенеруйте пару ключів SSH (якщо у вас її немає)

Якщо у вас ще немає пари ключів SSH на локальній машині, ви можете створити її. Ось як це зробити:

Відкрийте термінал на вашому комп’ютері (macOS або Linux) і виконайте наступну команду:

ssh-keygen -t rsa -b 4096 -C "your_email@example.com"

Ця команда створить пару ключів RSA-шифрування довжиною 4096 біт. Під час процесу вам буде запропоновано вказати, куди зберегти ключ:

  • Натисніть Enter, щоб зберегти ключ у місце за замовчуванням(~/.ssh/id_rsa).
  • За бажанням, додайте парольну фразу для додаткового рівня безпеки (рекомендується) або натисніть Enter, щоб пропустити цей крок.

Цей процес створить два файли:

  • id_rsa: ваш приватний ключ (зберігайте його в безпеці і ніколи не передавайте іншим особам).
  • id_rsa.pub: Ваш публічний ключ (саме його ви завантажите на сервер).

Далі покажіть публічний ключ, щоб ви могли його скопіювати:

ssh root@ваш_vps_ip

Скопіюйте результат (ваш відкритий ключ), оскільки він знадобиться вам на наступному кроці.

Крок 2: Увійдіть до свого VPS

Щоб додати ваш новий публічний ключ SSH до віртуальної машини, вам потрібно буде увійти до неї поточним методом (за допомогою пароля або наявного ключа). Відкрийте термінал і запустіть його:

ssh root@ваш_vps_ip

Замініть your_vps_ip на фактичну IP-адресу вашого VPS. Якщо ви входите під іншим обліковим записом (не root), замініть root на відповідне ім’я користувача.

Крок 3: Створіть каталог .ssh (якщо він не існує)

Увійшовши до системи, переконайтеся, що каталог.ssh існує для вашого облікового запису користувача. Якщо його не існує, створіть його за допомогою наступної команди:

mkdir -p ~/.ssh
chmod 700 ~/.ssh

Ця команда створює каталог .ssh і встановлює правильні дозволи, щоб тільки поточний користувач мав до нього доступ.

Крок 4: Додайте відкритий ключ до файлу authorized_keys

Тепер, коли у вас є каталог .ssh, вам потрібно завантажити ваш відкритий ключ SSH на VPS, додавши його до файлу authorized_keys. Цей файл містить публічні ключі, які дозволено використовувати для автентифікації на сервері.

  1. Відкрийте файл authorized_keys за допомогою текстового редактора, наприклад, nano:
    nano ~/.ssh/authorized_keys

    Якщо файл не існує, ця команда створить його.

  2. Вставте ваш публічний SSH-ключ (той, який ви скопіювали з id_rsa.pub раніше) у файл. Клацніть правою кнопкою миші або скористайтеся функцією вставки терміналу, щоб вставити ключ.
  3. Збережіть і закрийте файл, натиснувши клавіші Ctrl X, потім Y і натисніть Enter.
  4. Встановіть правильні права доступу до файлу authorized_keys:
    chmod 600 ~/.ssh/authorized_keys

Цей крок гарантує, що файл буде доступний лише поточному користувачеві.

Крок 5: Тестування входу за допомогою ключа SSH

Після додавання ключа SSH до VPS вам слід протестувати налаштування, щоб переконатися, що ви можете увійти без пароля.

  1. Вийдіть з поточного сеансу SSH, набравши :
    exit
  2. Тепер спробуйте знову увійти на VPS, використовуючи свій SSH-ключ:
    ssh root@ваш_vps_ip

    Якщо все налаштовано правильно

  3. ви будете авторизовані на VPS без запиту пароля.

Крок 6 (необов’язковий): Відключення парольної аутентифікації

Для додаткової безпеки ви можете вимкнути автентифікацію за допомогою пароля, дозволивши доступ до VPS лише користувачам з SSH-ключем. Цей крок є необов’язковим, але рекомендується для середовищ, де безпека є пріоритетом.

Щоб вимкнути парольну автентифікацію:

  1. Відкрийте конфігураційний файл SSH на вашому VPS:
    nano /etc/ssh/sshd_config
  2. Знайдіть у файлі конфігурації наступні рядки і переконайтеся, що вони налаштовані наступним чином:
    PasswordAuthentication ні
    PubkeyAuthentication так
  3. Збережіть і закрийте файл, натиснувши клавіші Ctrl X , потім Y, і натисніть Enter.
  4. Перезапустіть службу SSH, щоб застосувати зміни:
    systemctl restart sshd

Тепер тільки користувачі з дійсним SSH-ключем зможуть увійти на VPS.

Крок 7: Керування кількома SSH-ключами

Якщо ви керуєте кількома VPS або віддаленими серверами, вам може знадобитися впорядкувати ключі SSH і налаштувати файл ~/.ssh/config для зручності. Ось приклад конфігурації, яка дозволяє вказати різні ключі SSH для різних серверів:

Хост myvps Ім'я хоста ваш_vps_ip
Користувач root
IdentityFile ~/.ssh/id_rsa

Після додавання цих даних до конфігураційного файлу SSH(~/.ssh/config) ви можете просто увійти за допомогою:

ssh myvps

Висновок

Додавання публічного ключа SSH до існуючого VPS значно підвищує безпеку вашого віддаленого сервера, спрощуючи процес входу в систему. Дотримуючись цієї інструкції, ви зможете легко завантажити публічний ключ SSH і налаштувати свій VPS для входу без пароля. Для додаткової безпеки ви можете повністю вимкнути автентифікацію за допомогою пароля, щоб лише авторизовані SSH-ключі могли отримати доступ до вашого VPS. Таке налаштування не тільки захистить ваш сервер від несанкціонованого доступу, але й спростить ваш робочий процес, усунувши необхідність вводити паролі під час кожного входу.

Перевірте свої навички на всіх наших хостингових послугах та отримайте знижку 15%!

Використовуйте код під час оформлення замовлення:

Skills