Защита 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.
Смена порта — не защита, но фильтр шума
Нестандартный порт уменьшает количество автоматических попыток входа, но не заменяет ключи, firewall и fail2ban. Это вспомогательная мера.
- не используйте занятый порт;
- разрешите новый порт в firewall до reload SSH;
- проверьте вход перед закрытием старого порта.
Fail2ban помогает против перебора
Fail2ban анализирует логи и временно блокирует адреса с большим числом неудачных попыток входа. Это полезно, если SSH доступен всему интернету.
apt install fail2ban -y
systemctl enable --now fail2ban
fail2ban-client statusЛучший вариант — ограничение по IP
Если у администратора есть постоянный IP, SSH можно открыть только для него. Это сильнее, чем смена порта или fail2ban.