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

Категория: / DEV Блог / Сервер (FreeBSD)
Создаем пользователя - adduser <login>.

Далее заходим им и генерим ssh-ключи

su <login>
ssh-keygen -d
cd .ssh
cat id_dsa.pub > authorized_keys2
mv id_dsa <safe_path>


Эти операции создадут три файла в папке ~/.ssh.

Файл id_dsa - это приватный ключ пользователя, его не нужно хранить на сервере.
Он понадобится вам для удаленной авторизации по ssh (или sftp).

В unix-окружении вы можете воспользоваться ключом следующим образом

# параметр -i указывает на расположение испльзуемого в сессии ключа
ssh -i ./private.dsa -l login <login>@host


В windows самый популярный ssh клиент - это putty.
Однако, вы не сможете использовать полученный приватный ключ.
Необходимо выполнить конвертацию с помощью puttygen.
Иначе при попытке соединения вы увидите ошибку -
Unable to use key file <MyPrivateKey> (OpenSSH SSH2 private key).
Качаем puttygen (например с http://www.chiark.greenend.org.uk/~sgtatham/putty/download.html),
запускаем и загружаем наш приватный ключ. Дальше жмем кнопку "save private key"
и сохраняем полученный ppk файл.

Теперь в настройках сессии putty указываем

Connection - data - autologin username - <login>
Connection - data - ssh -auth - <ppk file path>


Запускаем putty и попадаем в систему. Пример сообщения

Using username "login".
Authenticating with public key "rsa-key-20060824"