SSH авторизация по ключу

1. Генерируем ключ

используем DSA,говорят, оно круче RSA. Выполняет либо из под своего пользователя:

либо указываем путь к папке для пользователя

Можно указать размер ключа, опция -b, например

ssh-keygen создаст пару публичного и приватного ключей, используемых для аутентификации. Приватный ключ сохраняется в ~/.ssh/id_dsa, а публичный в ~/.ssh/id_dsa.pub

2. Настройка ssh-сервера

2.1. Добавляем ключ к авторизационным для пользователя

2.2 Дальше нужно проверить, включена ли авторизация по ключам — в файле /etc/ssh/sshd_config должно быть раскоментировано

А если на сервере вообще хотим запретить авторизацию по паролям, выставляем параметр в /etc/ssh/sshd_config:

После изменения sshd_config нужно перезапустить sshd. Во FreeBSD это можно сделать командой

3. Удаляем pub-ключ

4. Забираем приватный id_dsa ключ себе

на сервере не оставляем!

5. Подключение.

5.1 Из Windows

Нужен ssh-клиент: putty или kitty. И конвертор ключей для них — puttygen.exe, обязательно «The latest development snapshot» — там добавили поддержку AES ключей. А все из-за того, что теперь ключи шифруются по стандарту AES-128 вместо 3DES.

Если будет ругаться что-то типа «des-ede3-cbc not supported» значит вы скачали не development версию.

Загружаем наш приватный ключ (Conversions -> Import Key).
Дальше жмем кнопку «save private key» и сохраняем полученный ppk файл. Теперь в настройках сессии putty указываем
Connection -> SSH -> Auth -> Private key for autotentification = ppk file path
Сохраняем сессию.

Запускаем putty выбираем нужную сессию, нажимаем Open и попадаем в систему.

5.1 Из unix