
Чтобы сделать подключение к Debian-серверу по SSH максимально безопасным и удобным, ответственные системные администраторы, как правило, настраивают аутентификацию через SSH-ключи. В отличие от обычного пароля, который можно угадать или перехватить, SSH-ключи используют криптографию: в момент аутентификации сервер проверяет, что подключающийся пользователь действительно владеет приватным ключом, при этом сам ключ не передаётся по сети. Подключаться можно без ввода пароля, что удобно для автоматизации с применением скриптов, а если нужно, можно легко управлять доступом, просто удаляя или добавляя ключи. Кроме того, SSH-ключи можно сочетать с паролем для дополнительной защиты, что делает их использование гораздо более безопасным, чем обычные пароли.
В статье разберём, как создать SSH-ключи для подключения к Debian при помощи популярного SSH-клиента PuTTY.
Как создать SSH-ключи в PuTTY
Для того, чтобы настроить аутентификацию по SSH-ключу, запустите PuTTYgen из комплекта PuTTY и перейдите в Key
➝ Generate Key Pair
. При этом будет запущена генерация пары SSH-ключей – приватного и публичного, которая потребует от вас произвольного движения мышью для того, чтобы PuTTYgen измерял скорость и положение мыши и использовал эти данные для генерации ключа. Рекомендуется также при создании SSH-ключей устанавливать их защиту при помощи дополнительного пароля – passphrase. Этот пароль шифрует сам файл ключа, сохранённый на компьютере. Установка passphrase не является обязательной. Чтобы установить passphrase, придумайте его и введите в строках Key passphrase
и Confirm passphrase
:

Независимо от того, устанавливали вы passphrase или нет, нажмите кнопку Save private key
, чтобы сохранить в файл приватный ключ созданной пары.

Затем переключитесь в терминал PuTTY, где у вас открыта SSH-сессия вашего сервера, либо подключитесь к серверу через PuTTY или командную строку. Там в своём домашнем каталоге создайте директорию .ssh
:
$ mkdir -p ~/.ssh
Перейдите в неё:
$ cd ~/.ssh
И создайте файл authorized_keys
:
$ nano authorized_keys
Далее переключитесь на PuTTYgen, полностью выделите содержимое поля Public key for pasting into OpenSSH authorized_keys file
и при помощи контекстного меню скопируйте его в буфер обмена.

После чего переключитесь в терминал и вставьте скопированный текст в файл authorized_keys
. Затем сохраните внесённые изменения, выйдите из режима редактирования файла, вернитесь в PuTTYgen и закройте его. Таким образом вы сохранили на сервере публичную часть пары SSH-ключей.
На следующем шаге запустите PuTTY. На начальной вкладке укажите имя или IP-адрес сервера в строке Host Name (or IP address)
, а в поле Saved Sessions
введите название сохраняемой сессии. Затем нажмите Save
.

После чего перейдите в Connection
➝ SSH
➝ Auth
➝ Credentials
и нажмите Browse
, чтобы выбрать сохранённый ранее файл приватного ключа.

Затем вернитесь во вкладку Sessions
, кликните в название сессии и нажмите Save
, чтобы сохранить её.

Для подключения к серверу нажмите Open
. В открывшемся окне терминала введите имя своей учётной записи, нажмите Enter
, после чего удалённая система должна аутентифицировать пользователя при помощи SSH-ключей и без использования пароля, если вы при создании ключей не устанавливали passphrase.

Если же passphrase был установлен, то при подключении необходимо будет его ввести.
