Безопасный доступ к Linux-ВМ по SSH
Подбор паролей по SSH — самая частая атака на серверы с публичным IP-адресом. Боты сканируют интернет и перебирают тысячи паролей в час. Лучшая защита — вход только по SSH-ключам.
Шаг 1. Добавьте SSH-ключ
- При создании ВМ добавьте свой открытый SSH-ключ в блоке Add SSH Key To Your Instance. См. Виртуальная машина.
- Для существующей ВМ ключами можно управлять на вкладке SSH Keys в настройках ВМ. См. SSH-ключи.

Если ключа еще нет, создайте его на своем компьютере:
ssh-keygen -t ed25519
Открытый ключ сохраняется в ~/.ssh/id_ed25519.pub. Никогда не передавайте и не загружайте закрытый ключ (id_ed25519 без .pub).
Шаг 2. Отключите вход по паролю и под root
Внимание
Сначала убедитесь, что можете войти по ключу. Не закрывайте текущую SSH-сессию и проверьте вход во втором окне терминала. Иначе можно потерять доступ к серверу. Если это случилось, воспользуйтесь веб-консолью.
-
Если вы входите под root, создайте пользователя с правами sudo:
adduser admin usermod -aG sudo admin # Ubuntu и Debian usermod -aG wheel admin # Rocky, AlmaLinux, RHELСкопируйте свой ключ этому пользователю (
~/.ssh/authorized_keys) и проверьте, что можете войти под ним. -
Откройте конфигурацию SSH-сервера:
sudo nano /etc/ssh/sshd_config -
Задайте параметры:
PasswordAuthentication no PermitRootLogin noВ новых дистрибутивах проверьте также файлы в
/etc/ssh/sshd_config.d/: настройка в них может переопределять основной файл. -
Проверьте конфигурацию и перезапустите SSH-сервер:
sudo sshd -t && sudo systemctl restart ssh # Ubuntu и Debian sudo sshd -t && sudo systemctl restart sshd # Rocky, AlmaLinux, RHEL -
Во втором окне терминала проверьте, что вход по ключу по-прежнему работает.
Шаг 3. Ограничьте, кто может подключаться
Разрешите SSH только со своих IP-адресов или через VPN. См. Сетевой доступ. Смена порта с 22 на нестандартный уменьшает шум от ботов в журналах, но не заменяет ограничение по IP.
Шаг 4. Блокируйте подбор паролей
Установите fail2ban — он блокирует IP-адреса, с которых много раз не удается войти.
sudo apt install fail2ban # Ubuntu и Debian
sudo dnf install epel-release && sudo dnf install fail2ban # Rocky, AlmaLinux
sudo systemctl enable --now fail2ban
Настройки по умолчанию защищают SSH. Проверить статус можно командой:
sudo fail2ban-client status sshd
Заключение
Вход по SSH только по ключам с ограничением по IP защищает ВМ от самых частых атак. Для Windows-ВМ те же принципы относятся к RDP — см. Сетевой доступ.