Авторизация на сервере по ssh ключу

Если вируталка одна, можно запомнить/записать пароль. Но когда их становится несколько — ставить одинаковый пароль не секьюрно, записывать и хранить много не очень удобно. Куда более крутой и безопасный способ — авторизация по ssh ключу

Работает на любых unix системах.

Для настройки генерируем ключ

ssh-keygen -t rsa

Получим запрос на путь сохранения публичного и приватных ключей.

Дальше пароль-фразу на приватный ключ. Ее надо ввести 2 раза

user@sd-service:~/.ssh$ ssh-keygen -t rsa
Generating public/private rsa key pair.
Enter file in which to save the key (/home/user/.ssh/id_rsa):
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /home/user/.ssh/id_rsa.
Your public key has been saved in /home/user/.ssh/id_rsa.pub.
()The key fingerprint is:
SHA256:zPMUtb4luSTTNjPeCk63C/tzc+E6PZnErpm9D5ncQvg user@host.ru
The key's randomart image is:
+---[RSA 2048]----+
|            .    |
|           . .   |
|          . .    |
|       o   * o   |
|        S E # o  |
|         * 3 & o |
|          7 E B B|
|           &.(o%*|
|          ..o+*==|
+----[SHA256]-----+

По итогу в папке текущего пользователя ~/.ssh видим 2 файла. id_rsa + id_rsa.pub.  Первый приватный ключ, его можно сразу забрать с сервера и сохранить себе на компьютер.

Теперь добавим наш публичный ключ в доверенные для сервера

cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys

Так можно добавить больше одного публичного ключа, для возможности входить по разным ключам.

Проверяем, что все добавилось

more ~/.ssh/authorized_keys

Забираем ключи с сервера. Там они уже не нужны.

(warning) Для подключения через Putty или WinSCP нужно конвертировать ключ через puttygen. (id_rsa.ppk)

Все готово к подключению по ключу!


1 Комментарий

Добавьте свой →

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

Добавить комментарий

Ваш адрес email не будет опубликован.