Авторизация SSH по ключу

Авторизация по ключу позволяет сохранить время и нервы, а так же, при полноценном использовании, повышает безопасность.

Ниже я покажу способ, которым пользуюсь сам. Потребуется доступ к серверу, на котором будем авторизовываться, PuTTY и PuTTY Key Generator (puttygen из комплекта PuTTY).

1. Запускаем puttygen, убеждаемся, что в разделе Parameters выбран тип ключа «SSH-2 RSA» и нажимаем кнопку Generate.

2. Хаотично двигаем курсором мыши в пустой области окна пока индикатор процесса не дойдет до конца.

3. Копируем полученный публичный ключ на сервер в файл ~/.ssh/authorized_keys и, при желании, защищаем приватный ключ паролем (заполняем поля «Key passphrase» и «Confirm passphrase»). Для удобства я оставляю пароль пустым при работе с локальными или не ценными серверами. Нажимаем на кнопку «Save private key» и сохраняем ключ в надежное место. Закрываем генератор.

4. Открываем PuTTY, идем в Connection > SSH > Auth и в поле «Private key file for authentication» указываем путь к ключу, сохраненному на предыдущем шаге. Настраиваем сессию как удобно и сохраняем ее (Session > вводим имя > Save).

Готово. Теперь при коннекте к серверу пароль не потребуется, только логин и пароль ключа (если указывался).
Чтобы каждый раз не указывать логин, его можно указать в Connection > Data > Auto-login username и сохранить сессию. Теперь авторизация будет происходить без вопросов.

В случае, если приватный ключ был защищен паролем, для автоматического логина нужно воспользоваться утилитой pageant из комплекта PuTTY и добавить туда приватный ключ с паролем. Запускаем pageant, кликаем правой кнопкой по значку в области уведомлений и выбираем «Add key». В открывшемся окне выбираем ключ, указываем парольную фразу и закрываем окно. Теперь и в случае ключа с паролем авторизация будет происходить автоматически.