Авторизация по ключам в Putty (ssh)

В этой статье будет описан процесс авторизации по ключу в putty для ssh-сессий.
Делается это для того, чтобы не вводить постоянно пароль.
Первым делом скачивается набор утилит Putty. Нам понадобится PuTTY.exe, puttygen.exe, PSFTP.exe, Pageant.exe
Открываем puttygen.exe. Тут будет происходить генерация ключей.
Выбираем «Тип ключа для генерации» — SSH-2 RSA, силу ключа — 2048. Жмем генерировать. Видим следующее:
PuttyGen

Key comment/Комментарий — вводим комментарий к ключу.
Key passphrase/Парольная фраза — парольная фраза к приватному ключу. Её нужно будет вводить при подключении или же хранить в памяти Pageant.exe. Можно оставить пустой.
Confirm passphrase — подтверждение парольной фразы.

Далее сохраняем открытый ключ и личный ключ. Приватный ключ нужно сохранить в укромном месте, а публичный ключ нужно будет закидывать на удаленный сервер, с которым настраиваем авторизацию. Для этого можете использовать любые удобные вам средства. В статье будем использовать PSFTP из комплекта putty.
Запускаем PSFTP.exe. Логинимся к вашему серверу:

psftp> open 12.45.233.11

Логин и пароль как и от ssh.
Копируем публичный ключ на сервер в любую папку:

psftp> put H:/ssh-keys/private_key_name.pub /root/private_key_name.pub

Готово.
Так как ключ был создан в putty, то его надо «преобразовать» в формат, понятный linux или freebsd. Заодно пересохраним ключи в нужное место.
Логинимся к серверу по ssh.
Переходим в папку со скопированным ключом и выполняем команду:

# ssh-keygen -i -f /root/private_key_name.pub >> /root/.ssh/authorized_keys

Если папки .ssh нет, то создайте её с правами 700. Все файлы в этой папке должны иметь права 600.
SSH-демон должен автоматически подхватить все эти дела, теперь перейдем к настройке Putty.

Открываем Putty, вводим параметры подключения к серверу (адрес, порт, имя сеанса), переходим на вкладку SSH-аутентификация:
Putty
Указываем путь к приватному ключу.
Возвращаемся к настройкам сеанса, жмем сохранить сеанс. В принципе все готово. При такой настройке вам придется вводить парольную фразу ключа при каждом подключении. Если вам лень это делать, то запустите Pageant.exe, в меню утилиты добавьте нужный ключ и введите один раз парольную фразу. Утилита Pageant сохранит в памяти парольную фразу и при подключении к серверу вводить её не надо. Но, стоит отметить, что при закрытии этой утилиты, все ключи удаляются из памяти и вам снова придется проделывать процедуру добавления ключей в Pageant.

Также возможна обратная операция генерации ключей на сервере и использование этих ключей в putty. Но, об этом в другой раз.

2 Replies to “Авторизация по ключам в Putty (ssh)”

  1. Спасибо за отличную статью. Наконец то заработало. Правда вместо psftp использую WinSCP и не надо писать командами.

Добавить комментарий для MishLen Отменить ответ

Ваш адрес email не будет опубликован.