Авторизация SSH по ключу
Категория: / DEV Блог
/ Сервер (FreeBSD)
Создаем пользователя - adduser <login>.
Далее заходим им и генерим ssh-ключи
Эти операции создадут три файла в папке ~/.ssh.
Файл id_dsa - это приватный ключ пользователя, его не нужно хранить на сервере.
Он понадобится вам для удаленной авторизации по ssh (или sftp).
В unix-окружении вы можете воспользоваться ключом следующим образом
В 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 указываем
Запускаем putty и попадаем в систему. Пример сообщения
Далее заходим им и генерим 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"
Добавьте в конфиг sshd директиву LogLevel DEBUG3 и ищите в логе строки:
вариант с ошибкой -->
sshd[5660]: debug1: trying public key file /root/.ssh/authorized_keys
sshd[5660]: debug1: fd 4 clearing O_NONBLOCK
sshd[5660]: debug2: key not found
sshd[5660]: debug1: trying public key file /root/.ssh/authorized_keys2
sshd[5660]: debug1: Could not open authorized keys '/root/.ssh/authorized_keys2': No such file or directory
sshd[5660]: debug3: mm_answer_keyallowed: key 0x8010154c0 is not allowed
должно быть так -->
sshd[5676]: debug1: trying public key file /root/.ssh/authorized_keys
sshd[5676]: debug1: fd 4 clearing O_NONBLOCK
sshd[5676]: debug1: matching key found: file /root/.ssh/authorized_keys, line 2 RSA SHA256:6/zqN4ZxA3MFeE/XA
sshd[5676]: debug3: mm_answer_keyallowed: key 0x8010154c0 is allowed