Одним из основных шагов по усилению SSH является отключение входа по SSH на основе пароля.
Вы знаете, что вы можете использовать ssh с паролем root или другой учетной записи для удаленного входа на сервер Linux.
Но это создает угрозу безопасности, потому что огромное количество ботов всегда пытаются войти в вашу систему со случайными паролями. Это называется атакой грубой силы.
Вы мне не верите? Вы можете проверить логин на вашем сервере Linux. Вы будете удивлены, увидев так много неудачных попыток на вашем сервере.
root@myserver:~# lastb | tail root ssh:notty 23.211.87.212 Wed Apr 1 02:12 - 02:12 (00:00) aw ssh:notty 36.121.175.68 Wed Apr 1 02:12 - 02:12 (00:00) fx ssh:notty 133.23.164.34 Wed Apr 1 02:12 - 02:12 (00:00) fx ssh:notty 133.23.164.34 Wed Apr 1 02:12 - 02:12 (00:00) root ssh:notty 167.22.123.74 Wed Apr 1 02:12 - 02:12 (00:00)
Вот почему вы должны использовать надежный пароль. Правильный способ борьбы с ними – использовать такой инструмент, как fail2ban. Другой способ – отключить аутентификацию на основе пароля, чтобы никто не мог подключиться через пароль для входа.
Таким образом, только те системы, чьи открытые ssh-ключи добавлены на сервер (так называемая аутентификация на основе ключей), смогут подключаться к серверу. Читайте о настройке конфигурации SSH.
Отключить аутентификацию по паролю SSH
Прежде чем сделать это, вы должны помнить следующее:
- Обязательно создайте пару ключей ssh на своем персональном/рабочем компьютере и добавьте этот открытый ключ SSH на сервер, чтобы по крайней мере вы могли войти на сервер.
- Отключение аутентификации на основе пароля означает, что вы не можете подключиться к серверу ssh со случайных компьютеров.
- Вы не должны терять свои ключи SSH. Если вы отформатируете свой персональный компьютер и потеряете ssh-ключи, вы никогда не сможете получить доступ к серверу.
- Если вы заблокированы, вы никогда не сможете получить доступ к вашему серверу.
Некоторые поставщики облачных серверов предоставляют VNC-консоль, которая может вам помочь.
Ладно. Итак, теперь вы знаете риски, связанные с отключением входа по SSH с помощью пароля. Посмотрим, как это сделать.
Войдите в систему как root на ваш сервер Linux, используя аутентификацию на основе ключей. Используйте редактор, такой как Nano или Vim, для редактирования следующего файла:
/etc/ssh/sshd_config
Найдите следующую строку:
PasswordAuthentication yes
И измените его на:
PasswordAuthentication no
Если в начале этой строки есть символ # (закомментированный), удалите его.
Сохраните файл после внесения этих изменений и перезапустите службу SSH с помощью этой команды:
systemctl restart ssh
Вот и все. Вы успешно отключили аутентификацию на основе пароля в SSH.
Вопросы и предложения всегда приветствуются.