VDS · Доступ к машине

Ключи 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.