SSH-ключі: створення та додавання
Як згенерувати пару ключів, додати публічний ключ у панелі керування сервером, чому збереження перезавантажує сервер і чому ключі не працюють на Windows Server.
Оновлено 23 серпня 2026 р.
SSH-ключ — це пара файлів: приватний залишається у вас, публічний лежить на машині. На відміну від пароля, його неможливо підібрати перебором.
Створення пари ключів
Команда однакова в Windows Terminal, PowerShell, macOS і Linux:
ssh-keygen -t ed25519 -C "artem@laptop"
Коли з'явиться запитання про файл, натисніть Enter (типово — ~/.ssh/id_ed25519). На ключ варто встановити парольну фразу: якщо ноутбук украдуть, ключ без парольної фрази дасть негайний доступ до машини.
З'являться два файли:
| Файл | Що це |
|---|---|
id_ed25519 | Приватний ключ. Нікому не передавайте й нікуди не завантажуйте |
id_ed25519.pub | Публічний ключ. Саме його ви вставляєте в панель |
Щоб переглянути публічний ключ:
cat ~/.ssh/id_ed25519.pub
Рядок виглядає так: ssh-ed25519 AAAAC3Nza... artem@laptop.
Додавання ключа в панелі
Відкрийте панель машини за адресою /hosting/vds/m/<id>, вкладку «Доступ», підрозділ «SSH-ключі», вставте ключі в поле й натисніть «Зберегти ключі».
Збереження ключів перезавантажує працюючу машину. Ключі застосовуються початковою конфігурацією під час завантаження, тож без перезапуску вони б не набули чинності. Усе, що не переживає перезавантаження, буде обірвано: відкриті з'єднання, незбережені дані, служби без автозапуску. На робочій машині виберіть слушний час і редагуйте список за один раз, а не по одному ключу.
Список ключів замінюється повністю. Надсилайте весь набір: якщо у вас уже був ключ з робочого комп'ютера, а ви збережете лише новий, старий перестане працювати. Порожнє поле видаляє всі ключі.
Формат: один ключ на рядок:
ssh-ed25519 AAAAC3Nza... artem@laptop
ssh-ed25519 AAAAC3Nza... artem@work
Вставляйте весь рядок, разом із типом на початку й коментарем у кінці, без перенесень рядка.
Можна вказати ключ одразу під час замовлення на /hosting/vds/new — тоді його додадуть до машини під час створення, і зайвого перезавантаження не буде.
У Windows Server немає SSH-ключів
Поле для ключа стосується машин із Linux. Ми надаємо Windows Server 2022 і 2025 без SSH-сервера: ви входите через RDP як Administrator з паролем із панелі. Ключ, збережений для такої машини, нічого не відкриє — саме тому майстер замовлення не показує для неї це поле.
Як підключитися й що робити в перші хвилини, розказано в статті Перший вхід у Windows Server через RDP, а про захист доступу — у статті Безпека RDP: порт, паролі, обмеження.
Перевірка входу
У новому вікні термінала, не закриваючи поточну сесію:
ssh root@203.0.113.10
Якщо пароль не запитали, ключ працює. Якщо запитали, дивіться таблицю помилок нижче.
Щоб не вводити адресу щоразу, налаштуйте файл ~/.ssh/config.
Вимкнення входу за паролем
Лише після успішної перевірки:
nano /etc/ssh/sshd_config
PasswordAuthentication no
PermitRootLogin prohibit-password
systemctl restart ssh
Якщо щось піде не так, доступ до машини все одно залишиться через текстову консоль у панелі — вона працює незалежно від SSH.
Поширені помилки
| Симптом | Причина |
|---|---|
| Усе ще запитує пароль | У панель вставили приватний ключ замість .pub, або ключ має неправильну назву і клієнт його не підхоплює |
UNPROTECTED PRIVATE KEY FILE | Занадто широкі права: chmod 600 ~/.ssh/id_ed25519 |
| Ключ працював, а потім перестав | Список у панелі перезаписали без цього ключа |
| Після перевстановлення ключ більше не працює | Машину перестворили, і ключі до неї не потрапили. Відкрийте «SSH-ключі» й збережіть список ще раз |
Permission denied (publickey) після вимкнення пароля | Ключ так і не дійшов до машини — увійдіть через консоль панелі й перевірте /root/.ssh/authorized_keys |
Діагностика з докладним виводом:
ssh -v root@203.0.113.10
У виводі видно, які ключі запропонував клієнт і що відповів сервер.
Користувачам PuTTY потрібен ключ у власному форматі — дивіться підключення з PuTTY.