
Само по себе использование SSH ключа не делает ваш сервер безопасным. Для этого необходимо как минимум отключить аутентификацию SSH по паролю.
Если вы мне не верите, достаточно просто взглянуть в логи аутентификации командой:
lastb
Все те IP, что вам не знакомы – это попытки получить доступ к вашему ПК при помощи подбора пароля.
Хотя это не такая уж и большая проблема, если Вы правильно настроили Fail2Ban и использовали достаточно сложный пароль со множеством символов, букв и цифр, но чтобы быть абсолютно уверенным в безопасности домашнего сервера, лучше полностью отказаться от любых способов аутентификации, кроме SSH ключа.
Как это сделать? Давайте выясним.
Меры предосторожности
Перед тем, как вносит изменения в конфигурацию SSH, стоит обратить особое внимание на несколько моментов:
- Сначала убедитесь, что ваш сервер “знает” про SSH ключ. Подключитесь к нему, например, при помощи PuTTY, только с использованием ключа, не указывая пароля. Если аутентификация прошла успешно, значит от пароля можно избавляться.
- Удостоверьтесь, что Вы сохранили ваши ключи в надёжном месте. Хотя сама их потеря скорее всего не будет большой проблемой (если вы имеете физический доступ к серверу), лучше сохранить их в нескольких местах, чтобы иметь быстрый доступ. Особенно это актуально для облачных серверов без возможности получить доступ через VNC консоль.
Настоятельно не рекомендую пренебрегать данными мерами предосторожности. Одна короткая проверка может избавить вас от внезапных проблем в будущем.
Отключение аутентификации SSH по паролю
Итак, мы разобрались с возможными рисками и готовы полностью отключить аутентификацию SSH по паролю. Для этого нам надо войти на сервер напрямую или через SSH с использованием сгенерированных ранее ключей.
Далее воспользоваться любым текстовым редактором, например nano
, и открыть файл конфигурации SSH:
nano /etc/ssh/sshd_config
Находим в файле следующую строку:
PasswordAuthentication yes
Как правило она закомментирована при помощи знака #. Убираем его и меняем значение строки:
PasswordAuthentication no
Сохраняем файл и перезапускаем службу SSH с помощью команды:
systemctl restart ssh
На этом всё, вы успешно отключили вход по паролю.
Если вам по какой-то причине понадобится вернуть всё к изначальным настройкам (например, вы потеряли ключи), достаточно снова отредактировать строку в файле и перезагрузить службу, но сделать это можно будет уже только через прямой доступ к серверу.
Автор: Владислав Лищенко / HomeHosted.ru