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

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

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

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

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

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

ssh-keygen -t rsa -b 2048

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

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

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

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

scp ~/.ssh/id_rsa.pub [email protected]:/root/.ssh/authorized_keys_new

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

ssh [email protected]

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

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

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

ssh [email protected]

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

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