SSH доступ по ssh-ключу

Могут ли подобрать пароль по ssh? Да, могут и это скорее вопрос времени... Лучше не использовать пароль, давай настроим вход по ключу...


Настраиваем ssh доступ по ssh-ключу

Для начала проверяем наличие ssh-сервиса на рабочей станции или сервере

systemctl status ssh
# или
systemctl status sshd

Если его нет, то устанавливаем и включаем автозапуск:

apt install ssh -y
systemctl enable ssh
# или
systemctl enable sshd

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

ssh-keygen
В процессе генерации можно задать фактор-пароль к ключу, но это не обязательно, можно просто нажать Enter

Копируем публичную часть ключа на удалённую машину, в нашем случае это 192.168.122.128, пользователь user

ssh-copy-id user@192.168.122.128

После закрываем вход по ssh для пользователя root

nano /etc/ssh/sshd_config
Меняем параметр #PermitRootLogin prohibit-password на PermitRootLogin no

Отключаем возможность удалённого входа с помощью пароля для всех на удалённой машине

Меняем #PasswordAuthentication yes на PasswordAuthentication no
(Ctrl + o - сохранить, Ctrl + x - выйти)

Проверяем наличие дополнительной конфигурации ssh в /etc/ssh/sshd_config.d/

Если там есть дополнительное файлы и в них содержится настройка PermitRootLogin и PasswordAuthentication, то их нужно удалить или закомментировать (прописать # в начале строки)

Перезагружаем сервис ssh или sshd

systemctl restart ssh
# или
systemctl restart sshd

Пробуем подключиться с помощью ключа

ssh user@192.168.122.128
Если при подключении не было запроса пароля, то аутентификация прошла успешно с помощью ssh-ключа
Подпишись на Linux Spark поддержи канал