[root@putty ~/articles] #

Автологин SSH используя PuTTY

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

Чтобы это реализовать, следуем схеме:

  1. Первое что нужно сделать, это сгенерировать ключи на сервере:

    ssh-keygen -t ed25519
  2. Нажимаем «Enter», по умолчанию ключи сохранятся в папку ~/.ssh/ текущего пользователя. Появятся два файла, закрытый ключ id_ed25519, и открытый id_ed25519.pub.

  3. Если хотите, можете указать пароль для ключа. Он будет выступать вторым фактором и защитит от риска утечки файла закрытого ключа (который будет хранится у нас на компьютере рядом с PuTTY). При этом пароль нужно будет вводить при каждом запуске сеанса.

  4. Далее нужно записать открытый ключ id_ed25519.pub в файл authorized_keys текущего пользователя:

    cat ~/.ssh/id_ed25519.pub >> ~/.ssh/authorized_keys
  5. Проследите за тем, чтобы права на файл были 600, если нет, то:

    chmod 600 ~/.ssh/authorized_keys
  6. Следующим шагом сохраним закрытый ключ id_ed25519 на наш компьютер (достаточно посмотреть на файл в nano или cat, и скопировать его контент), файл можно назвать как угодно, например new_session.ppk.

  7. С сервера изначальные ключи теперь можно удалить, на сервере остается только открытый ключ в файле ~/.ssh/authorized_keys.

  8. Прогоним сохраненный закрытый ключ через puttygen.exe, сделая его пригодным для использования в PuTTY. Для этого нажимаем кнопку «Load» напротив надписи «Load an existing private key file», а затем «Save private key».

  9. Открываем PuTTY, загружаем нужный нам сеанс, переходим в «SSH → Auth», указываем где находится готовый закрытый ключ.

  10. Переходим в «Connection → Data» и в поле «username» секции «Auto-login» укажем логин для сеанса.

  11. При необходимости в пункте меню SSH в поле Remote Command можно указать команду, которая автоматически будет выполняться при входе пользователя.

Сохраняем изменённый сеанс. Аутентификация на основе ключей должна работать.

Авторизация без использования ключей

Рассмотрим ещё один способ аутентификации, не вводя каждый раз пароль. Отличие этого способа состоит в том, что мы не используем ключи, а пароли будут храниться в открытом виде на вашем компьютере.

Будем использовать ярлыки. Интерфейс командной строки к PuTTY имеет следующий вид:

putty.exe -load SESSION -pw PASSWORD

или же

putty.exe USER@SERVER -pw PASSWORD

Можно не указывать загрузку сеанса:

putty.exe -pw PASSWORD

или же не указывать пароль:

putty.exe -load SESSION

Тогда в первом случае, будет предложено выбрать необходимый сеанс, а во втором случае будет запрошен только пароль.