Стандартный способ подключения к серверу по 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
На сервере выполняем
cat /root/.ssh/authorized_keys_new >> /root/.ssh/authorized_keys
После этого подключение по ключу становится возможно, пароль запрашиваться не будет
Для большей безопасности при работе с сервером всегда следует менять порт SSH
Если работа происходит с большим парком серверов удобно бывает настроить проброс SSH ключа, на сервера в этом случае можно будет заходить по цепочке без ввода пароля.