Как отключить аутентификацию SSH по паролю

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

Если вы мне не верите, достаточно просто взглянуть в логи аутентификации командой:

lastb

Все те IP, что вам не знакомы – это попытки получить доступ к вашему ПК при помощи подбора пароля.

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

Как это сделать? Давайте выясним.

Меры предосторожности

Перед тем, как вносит изменения в конфигурацию SSH, стоит обратить особое внимание на несколько моментов:

  1. Сначала убедитесь, что ваш сервер “знает” про SSH ключ. Подключитесь к нему, например, при помощи PuTTY, только с использованием ключа, не указывая пароля. Если аутентификация прошла успешно, значит от пароля можно избавляться.
  2. Удостоверьтесь, что Вы сохранили ваши ключи в надёжном месте. Хотя сама их потеря скорее всего не будет большой проблемой (если вы имеете физический доступ к серверу), лучше сохранить их в нескольких местах, чтобы иметь быстрый доступ. Особенно это актуально для облачных серверов без возможности получить доступ через VNC консоль.

Настоятельно не рекомендую пренебрегать данными мерами предосторожности. Одна короткая проверка может избавить вас от внезапных проблем в будущем.

Отключение аутентификации SSH по паролю

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

Далее воспользоваться любым текстовым редактором, например nano, и открыть файл конфигурации SSH:

nano /etc/ssh/sshd_config

Находим в файле следующую строку:

PasswordAuthentication yes

Как правило она закомментирована при помощи знака #. Убираем его и меняем значение строки:

PasswordAuthentication no

Сохраняем файл и перезапускаем службу SSH с помощью команды:

systemctl restart ssh

На этом всё, вы успешно отключили вход по паролю.

Если вам по какой-то причине понадобится вернуть всё к изначальным настройкам (например, вы потеряли ключи), достаточно снова отредактировать строку в файле и перезагрузить службу, но сделать это можно будет уже только через прямой доступ к серверу.


Автор: Владислав Лищенко / HomeHosted.ru

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *