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

Стандартный способ подключения к серверу по SSH — по паролю. Вводится название протокола ssh, затем логин пользователя и через «@» IP адрес сервера или хост.

 

Данный способ небезопасен потому, что сетевой трафик всегда можно записать используя tcpdump или whireshark и узнать таким образом пароль. SSH авторизация по ключу обеспечивает гораздо больший уровень безопасности.

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

 

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

 

 

Генерация SSH ключа

Ключ с типом шифрования RSA генерируем следующей командой:

ssh-keygen -t rsa -b 2048

 

После ее выполнения возникнет диалог в котором будет предложено ввести парольную фразу (данный шаг можно пропустить дважды нажав Enter) и ввести путь для сохранения файлов публичного и приватного ключей

Публичный ключ по-умолчанию сохраняется в ~/.ssh/id_rsa.pub

 

 

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

Далее отправляем на сервер публичный ключ

scp ~/.ssh/id_rsa.pub root@123.123.123.123:/root/.ssh/authorized_keys_new

 

Затем подключившись к серверу по паролю добавляем ключ в authorized_keys

ssh root@123.123.123.123

 

На сервере выполняем

cat /root/.ssh/authorized_keys_new >> /root/.ssh/authorized_keys

 

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

ssh root@123.123.123.123

Для большей безопасности при работе с сервером всегда следует менять порт SSH

 

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