October 29, 2022

Авторизация с помощью SSH ключа для безопасности сервера

Выполняем команду для генерации ключей:

ssh-keygen

Вывод должен быть такой:

Generating public/private rsa key pair.Enter file in which to save the key (/root/.ssh/id_rsa):

По умолчанию ключи будут сохранены в папку /.ssh , где секретный ключ — id_rsa , публичный — id_rsa.pub

Для дополнительной защиты вводим пароль для ключа (рекомендуется)

Вывод будет такой (если не изменили путь)

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

Cоздадим каталог ~/.ssh, а затем поместим наш ключ в файл authorized_keys с помощью символа >>, это позволит не перезаписывать существующие ключи:

cat ~/.ssh/id_rsa.pub | ssh user@remote_host “mkdir -p ~/.ssh && cat >> ~/.ssh/authorized_keys”

Набираем yes , вводим пароль (от сервера) .Теперь вы можете использовать созданный ключ для аутентификации на сервере:

ssh user@remote_host

Вводим пароль ключа.

Далее отключаем проверку по паролю на сервере.

Открываем конфигурационный файл /etc/ssh/sshd_config и в строке PasswordAuthenticatin , устанавливаем значение no :

sudo nano /etc/ssh/sshd_config

Сохраняем ctrl O , enter , ctrl X .

Теперь с помощью терминала MobaXterm скопируем и сохраним наш ключ — id_rsa

Перезапускаем службу ssh:

sudo service ssh restart

Создаем новую сессию , загружаем наш сохраненный ключ и жмем OK .

Вводим пароль от ключа . Готово !!!