Как создать SSH-ключи в PuTTY

Чтобы сделать подключение к 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 при создании SSH-ключей в PuTTY

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

Сохранение приватного ключа при создании SSH-ключей в PuTTY

Затем переключитесь в терминал PuTTY, где у вас открыта SSH-сессия вашего сервера, либо подключитесь к серверу через PuTTY или командную строку. Там в своём домашнем каталоге создайте директорию .ssh:

$ mkdir -p ~/.ssh

Перейдите в неё:

$ cd ~/.ssh

И создайте файл authorized_keys:

$ nano authorized_keys

Далее переключитесь на PuTTYgen, полностью выделите содержимое поля Public key for pasting into OpenSSH authorized_keys file и при помощи контекстного меню скопируйте его в буфер обмена.

Копирование в буфер обмена публичного ключа при создании SSH-ключей в PuTTY

После чего переключитесь в терминал и вставьте скопированный текст в файл authorized_keys. Затем сохраните внесённые изменения, выйдите из режима редактирования файла, вернитесь в PuTTYgen и закройте его. Таким образом вы сохранили на сервере публичную часть пары SSH-ключей.

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

Сохранении сессии в PuTTY

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

Выбор файла приватного ключа в PuTTY

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

Сохранении сессии в PuTTY

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

Подключение к удалённому серверу с использованием SSH-ключей без passphrase

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

Подключение к удалённому серверу с использованием SSH-ключей и passphrase

Вам также может понравиться