Як додати SSH-ключі до нового або існуючого VPS
При управлінні віртуальним приватним сервером (VPS) безпека є головним пріоритетом, і одним з найбезпечніших способів автентифікації на сервері є використання SSH-ключів. SSH-ключі забезпечують безпечний метод входу на ваш сервер без пароля, використовуючи криптографію з відкритим ключем. У цьому посібнику ви дізнаєтеся, як додати SSH-ключі як до нового, так і до існуючого VPS-середовища, що забезпечить безперешкодний і безпечний вхід до системи.
Що таке SSH-ключі?
SSH-ключі – це пара криптографічних ключів – публічний і приватний – які використовуються для автентифікації. Відкритий ключ зберігається на сервері, а закритий ключ залишається на вашому локальному комп’ютері. Коли ви намагаєтеся увійти в систему, сервер звіряє відкритий ключ із закритим, і якщо вони збігаються, ви отримуєте доступ без необхідності вводити пароль. SSH-ключі є більш безпечним методом, ніж традиційні паролі, які є вразливими до атак грубої сили.
Навіщо використовувати SSH-ключі?
- Підвищена безпека: SSH-ключі використовують криптографічну автентифікацію, яка набагато безпечніша за паролі.
- Безпарольна аутентифікація: Після налаштування SSH-ключів ви можете входити на свій VPS без необхідності вводити пароль.
- Автоматизація: SSH-ключі ідеально підходять для автоматизації таких завдань, як резервне копіювання, віддалена передача файлів і запуск скриптів системного адміністрування.
Необхідні умови
Перш ніж ми почнемо, переконайтеся, що у вас є
- Доступ до VPS (нового або існуючого).
- SSH, встановлений на вашій локальній машині (зазвичай встановлений за замовчуванням на macOS і Linux).
- Пара ключів SSH. Якщо у вас її немає, ми розповімо, як її згенерувати.
Додавання ключів SSH до нового VPS
Якщо ви створюєте новий VPS, багато хостинг-провайдерів дозволяють додавати SSH-ключі під час процесу створення VPS. Ось як це зробити:
Крок 1: Згенеруйте пару ключів SSH (якщо у вас їх ще немає)
Якщо у вас ще немає пари ключів SSH, ви можете згенерувати її за допомогою наступної команди у вашому локальному терміналі (на macOS або Linux):
ssh-keygen -t rsa -b 4096 -C "your_email@example.com"
Ця команда створить новий ключ SSH, використовуючи 4096-бітне RSA-шифрування, і додасть вашу електронну адресу в якості коментаря до ключа. Дотримуйтесь підказок на екрані, щоб зберегти ключ за замовчуванням(~/.ssh/id_rsa) і, за бажанням, додайте парольну фразу для додаткового рівня безпеки.
Згенеровані файли такі:
- id_rsa: приватний ключ (ніколи не передавайте його нікому).
- id_rsa.pub: Публічний ключ (це те, що ви завантажуєте на свій VPS).
Щоб відобразити публічний ключ, виконайте наступну команду і скопіюйте висновок
cat ~/.ssh/id_rsa.pub
Крок 2: Увійдіть до свого VPS-провайдера
Перш за все, вам потрібно увійти до свого облікового запису VPS. Більшість провайдерів надають можливість додати SSH-ключ під час налаштування VPS.
Крок 3: Створення нового VPS і додавання ключа SSH
Під час процесу створення VPS:
- Виберіть операційну систему (зазвичай на базі Linux, наприклад, Ubuntu або CentOS).
- Знайдіть опцію ” Додати ключ SSH ” або “Метод автентифікації“.
- Вставте публічний ключ SSH (id_rsa.pub) у відповідне поле.
- Завершіть налаштування VPS, вибравши тарифний план, регіон та інші параметри.
Після створення VPS він буде автоматично налаштований на доступ по SSH за допомогою вашого SSH-ключа.
Крок 4: Підключення до VPS
Тепер, коли ваш VPS налаштовано за допомогою ключа SSH, ви можете підключитися до нього за допомогою наступної команди (замініть your_vps_ip на IP-адресу вашого VPS):
ssh root@ваш_vps_ip
Якщо все налаштовано правильно, ви побачите
ввійдете на свій VPS без необхідності вводити пароль.
Додавання SSH-ключів до існуючого VPS
Якщо у вас вже є VPS, але ви використовуєте автентифікацію на основі пароля, ви можете додати SSH-ключі, щоб убезпечити майбутні входи. Ось як це зробити:
Крок 1: Згенеруйте пару ключів SSH (якщо потрібно)
Якщо ви ще не згенерували пару ключів SSH, виконайте наступну команду на локальній машині, щоб створити її:
ssh-keygen -t rsa -b 4096 -C "your_email@example.com"
Скопіюйте відкритий ключ(id_rsa.pub), виконавши команду:
cat ~/.ssh/id_rsa.pub
Крок 2: Увійдіть до свого VPS
Щоб додати SSH-ключ до існуючого VPS, вам потрібно буде увійти за допомогою поточного методу (найімовірніше, за допомогою пароля). Використовуйте наступну команду для підключення до вашого VPS (замініть your_vps_ip на фактичну IP-адресу):
ssh root@ваш_vps_ip
Введіть пароль, коли з’явиться відповідний запит.
Крок 3: Створіть каталог .ssh (якщо він відсутній)
Увійшовши до свого VPS, перевірте, чи існує каталог.ssh . Якщо ні, створіть його, виконавши наступні команди:
mkdir -p ~/.ssh
chmod 700 ~/.ssh
У каталозі .ssh буде зберігатися ваш відкритий ключ.
Крок 4: Додайте відкритий ключ до файлу authorized_keys
Далі вам потрібно додати ваш відкритий ключ до файлу authorized_keys, який використовується SSH для автентифікації ваших спроб входу.
- Відкрийте файл authorized_keys (або створіть його, якщо він не існує) за допомогою текстового редактора, наприклад, nano:
nano ~/.ssh/authorized_keys
- Вставте ваш публічний SSH-ключ (скопійований з команди cat ~/.ssh/id_rsa.pub ) у файл.
- Збережіть і закрийте файл, натиснувши Ctrl X , потім Y, і натисніть Enter.
- Встановіть правильні права доступу до файлу authorized_keys, щоб він був доступний лише поточному користувачеві:
chmod 600 ~/.ssh/authorized_keys
Крок 5: Перевірка автентичності SSH-ключів
Після додавання ключа SSH вийдіть з поточного сеансу, набравши :
exit
Тепер спробуйте ще раз увійти до свого VPS за допомогою SSH:
ssh root@ваш_vps_ip
Якщо ключ було додано успішно, ви повинні увійти без запиту пароля.
Крок 6: Вимкніть автентифікацію за допомогою пароля (необов’язково)
Для додаткової безпеки ви можете вимкнути автентифікацію за допомогою пароля, щоб для входу можна було використовувати лише SSH-ключі. Для цього виконайте такі дії:
- Відкрийте конфігураційний файл SSH на вашому VPS:
nano /etc/ssh/sshd_config
- Знайдіть наступні рядки і змініть їх на:
PasswordAuthentication no
PubkeyAuthentication так
- Збережіть файл і перезапустіть службу SSH, щоб застосувати зміни:
systemctl restart sshd
Це вимкне парольні входи, дозволяючи доступ до сервера лише користувачам з дійсним SSH-ключем.
Висновок
Використання SSH-ключів – один з найефективніших способів захистити доступ до вашого VPS, усуваючи необхідність у традиційній автентифікації на основі пароля. Незалежно від того, налаштовуєте ви новий VPS або захищаєте існуючий, додавання SSH-ключів – це простий процес, який значно підвищує безпеку. Дотримуючись цього посібника, ви зможете легко налаштувати ключі SSH на своєму VPS, автоматизувати безпечні входи та забезпечити вищий рівень захисту вашого сервера та даних.