Автологин SSH используя PuTTY
Когда приходится администрировать достаточное количество серверов, а пароли очень длинные, то немало времени уходит на ввод этих самых паролей при авторизации. На помощь может прийти авто-логин на основе ключей.
Чтобы это реализовать, следуем схеме:
Первое что нужно сделать, это сгенерировать ключи на сервере:
ssh-keygen -t ed25519
Нажимаем «Enter», по умолчанию ключи сохранятся в папку
~/.ssh/
текущего пользователя. Появятся два файла, закрытый ключid_ed25519
, и открытыйid_ed25519.pub
.Если хотите, можете указать пароль для ключа. Он будет выступать вторым фактором и защитит от риска утечки файла закрытого ключа (который будет хранится у нас на компьютере рядом с PuTTY). При этом пароль нужно будет вводить при каждом запуске сеанса.
Далее нужно записать открытый ключ
id_ed25519.pub
в файлauthorized_keys
текущего пользователя:cat ~/.ssh/id_ed25519.pub >> ~/.ssh/authorized_keys
Проследите за тем, чтобы права на файл были 600, если нет, то:
chmod 600 ~/.ssh/authorized_keys
Следующим шагом сохраним закрытый ключ
id_ed25519
на наш компьютер (достаточно посмотреть на файл в nano или cat, и скопировать его контент), файл можно назвать как угодно, напримерnew_session.ppk
.С сервера изначальные ключи теперь можно удалить, на сервере остается только открытый ключ в файле
~/.ssh/authorized_keys
.Прогоним сохраненный закрытый ключ через
puttygen.exe
, сделая его пригодным для использования в PuTTY. Для этого нажимаем кнопку «Load» напротив надписи «Load an existing private key file», а затем «Save private key».Открываем PuTTY, загружаем нужный нам сеанс, переходим в «SSH → Auth», указываем где находится готовый закрытый ключ.
Переходим в «Connection → Data» и в поле «username» секции «Auto-login» укажем логин для сеанса.
При необходимости в пункте меню SSH в поле Remote Command можно указать команду, которая автоматически будет выполняться при входе пользователя.
Сохраняем изменённый сеанс. Аутентификация на основе ключей должна работать.
Авторизация без использования ключей
Рассмотрим ещё один способ аутентификации, не вводя каждый раз пароль. Отличие этого способа состоит в том, что мы не используем ключи, а пароли будут храниться в открытом виде на вашем компьютере.
Будем использовать ярлыки. Интерфейс командной строки к PuTTY имеет следующий вид:
putty.exe -load SESSION -pw PASSWORD
или же
putty.exe USER@SERVER -pw PASSWORD
Можно не указывать загрузку сеанса:
putty.exe -pw PASSWORD
или же не указывать пароль:
putty.exe -load SESSION
Тогда в первом случае, будет предложено выбрать необходимый сеанс, а во втором случае будет запрошен только пароль.