Для возможности подключения по SSH с использованием ключей необходимо, чтобы публичный ключ был сохранен на боксе в файле
~/.ssh/authorized_keys.
В зависимости от ситуации реализовать это можно различным образом.
Если бокс ещё не создан
Чтобы при создании нового бокса он сразу был сконфигурирован для авторизации по паре ключей, нужно:
- После этого на главной странице при создании бокса в появившемся выпадающем списке вместо «Аутентификация по паролю» выбрать имя добавленного ключа.
Примечание: в этом случае root-пароль не генерируется, соответственно, он будет отсутствовать в письме о создании бокса, а доступ по паролю будет запрещён.
Если бокс уже создан и есть доступ по root-паролю
Сначала генерируем персональную пару ключей — открытый (публичный) и закрытый (приватный). Приватный ключ остаётся на локальном устройстве, а публичный ключ нужно добавить следующим образом:
- Подключиться к боксу.
- Добавить файл публичного ключа (id_rsa.pub) в ~/.ssh/authorized_keys.
- Перезагрузить сервис командой:
service sshd restart
Если при этом необходимо запретить авторизацию по паролю, в /etc/ssh/sshd_config добавляем правило:
PasswordAuthentication no
После вновь перезапустить sshd.
Если бокс был создан с авторизацией по другой паре ключей
В данном случае, так как у нас нет возможности получить закрытый ключ, необходимо предварительно разрешить авторизацию по паролю.
Так как root-пароль при таком создании изначально отсутствует, но требуется для подключения по VNC, первым делом необходимо выполнить действие
«Сброс пароля root».
Далее:
- Подключиться по VNC.
- Закомментировать в файле /etc/ssh/sshd_config директиву:или изменить ее значение на yes.
PasswordAuthentication no
- Перезапустить сервис sshd:
service sshd restart
Далее подключиться к серверу с помощью root-пароля и внести изменения по алгоритму из предыдущего пункта.