Как включить авторизацию на базе SSH ключей

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

Генерируем ключ авторизации

Это можно сделать, как на своем личном компьютере, так и на сервере. После ввода следующей команды нас спросят путь для сохранения ключа и защитную фразу для последующего его использования – можно оставить пустым.

ssh-keygen

На выходе мы получим два файла

  1. .ssh/new_key – приватный ключ, который понадобится нам для входа на сервер и хранится на вашем ПК.

  2. .ssh/new_key.pub – публичный ключ, который необходимо передать на сервер.

Методы передачи публичного ключа на сервер

  1. Скопировать содержимое .ssh/new_key.pub в новый файл .ssh/new_key.pub на сервере.

  2. Командой на своем ПК scp .ssh/new_key.pub root@1.1.1.1:/root/.ssh/

Настройка аутентификации на стороне сервера

Для этого необходимо отредактировать файл /etc/ssh/sshd_config, который отвечает за работу самого сервиса SSH.

В файле нам интересны следующие строки, которые вы должны раскомментировать и отредактировать на приведенные нами значения.

  1. PubkeyAuthentication yes – включить авторизацию на базе ключей.

  2. PasswordAuthentication no – отключить авторизацию по паролю.

  3. AuthorizedKeysFile .ssh/authorized_keys – добавить публичные ключи авторизации. В данном случае добавлен файл .ssh/authorized_keys, вы можете добавить еще один или просто заменить на свой, например AuthorizedKeysFile .ssh/new_key.pub

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

systemctl restart sshd

Затем в отдельном окне стоит проверить авторизацию по ключу и по паролю и убедиться в работоспособности новых настроек.

В некоторых случаях понадобиться сбросить кэшированные ключи вашего сервера на личном ПК.

ssh-keygen -R 1.1.1.1

Last updated