Ключи SSH: создание и добавление
Как сгенерировать пару ключей, добавить открытый ключ в панели машины, почему сохранение перезагружает машину и почему на Windows Server ключи не работают.
Обновлено 23 августа 2026 г.
Ключ SSH — это пара файлов: закрытый остаётся у вас, открытый лежит на машине. Подобрать его нельзя, в отличие от пароля.
Создать пару ключей
Команда одинакова в Windows Terminal, PowerShell, macOS и Linux:
ssh-keygen -t ed25519 -C "artem@laptop"
На вопрос о файле нажмите Enter (по умолчанию ~/.ssh/id_ed25519). Пароль на ключ (passphrase) задавать стоит: если ноутбук украдут, ключ без пароля сразу даст доступ к машине.
Появятся два файла:
| Файл | Что это |
|---|---|
id_ed25519 | Закрытый ключ. Никому не передавать, никуда не загружать |
id_ed25519.pub | Открытый ключ. Его вставляют в панель |
Посмотреть открытый ключ:
cat ~/.ssh/id_ed25519.pub
Строка выглядит так: ssh-ed25519 AAAAC3Nza... artem@laptop.
Добавить ключ в панели
Откройте панель машины /hosting/vds/<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.