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

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

LinuPark 🧙‍♂️
Могут ли подобрать пароль по 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 user@192.168.122.128
Если при подключении не запрашивался пароль, то аутентификация произведена по ключу ssh


После закрываем вход по 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-ключа


✍️ Подпишись, поддержи канал

Report Page