Системный журнал — практичная база знаний по VPS и Linux
SSH • hardening • VPS

Защита SSH на VPS: что настроить в первую очередь

SSH постоянно сканируют автоматические боты. Это не повод паниковать, но повод настроить доступ так, чтобы перебор паролей и случайные ошибки не стали проблемой.

Начните с SSH-ключей

Вход по ключу надёжнее пароля, если приватный ключ хранится безопасно. Но сначала нужно убедиться, что ключ добавлен правильно и новая сессия открывается без пароля.

mkdir -p ~/.ssh
chmod 700 ~/.ssh
nano ~/.ssh/authorized_keys
chmod 600 ~/.ssh/authorized_keys

Создайте отдельного пользователя

Root-доступ удобно использовать при первичной настройке, но для постоянной работы лучше отдельный пользователь с sudo. Это снижает риск случайных разрушительных команд.

adduser admin
usermod -aG sudo admin

Отключайте парольный вход только после проверки

Самая опасная ошибка — отключить PasswordAuthentication до проверки ключа. В итоге сервер может стать недоступен по SSH.

Перед изменением sshd_config оставьте текущую SSH-сессию открытой и проверьте вход во второй сессии.

Смена порта — не защита, но фильтр шума

Нестандартный порт уменьшает количество автоматических попыток входа, но не заменяет ключи, firewall и fail2ban. Это вспомогательная мера.

  • не используйте занятый порт;
  • разрешите новый порт в firewall до reload SSH;
  • проверьте вход перед закрытием старого порта.

Fail2ban помогает против перебора

Fail2ban анализирует логи и временно блокирует адреса с большим числом неудачных попыток входа. Это полезно, если SSH доступен всему интернету.

apt install fail2ban -y
systemctl enable --now fail2ban
fail2ban-client status

Лучший вариант — ограничение по IP

Если у администратора есть постоянный IP, SSH можно открыть только для него. Это сильнее, чем смена порта или fail2ban.

Ограничение по IP нужно применять осторожно, если вы часто подключаетесь из разных сетей.