Как безопасно отключить вход root по SSH на VPS?

Гораздо безопаснее создать отдельного пользователя с правами администратора и запретить root-доступ. В этой статье мы разберём:

  • почему стоит отключить root-логин;
  • как правильно отредактировать конфигурацию SSH;
  • как проверить работу после изменения настроек;
  • как избежать ситуации, когда вы «запрёте» себя с сервера.

Почему нужно отключить вход под root

Root-аккаунт имеет полные права на системе. Любая ошибка или взлом — и сервер окажется полностью скомпрометирован. Поэтому лучшая практика администрирования — работать через отдельного пользователя с правами sudo, а прямой вход root запретить.

Основные причины:

  • Root всегда известен злоумышленникам — угадывать логин не нужно.
  • Подбор пароля через брутфорс — основная цель атакующих ботов.
  • Работа через sudo позволяет лучше контролировать действия (всё логируется).

Создание нового пользователя с правами sudo

Прежде чем отключить root, нужно создать нового пользователя и выдать ему права администратора:

adduser admin
usermod -aG sudo admin

Теперь можно входить на сервер так:

ssh admin@123.45.67.89
Создание пользователя с правами sudo

Редактирование файла sshd_config

Откройте конфигурацию SSH:

sudo nano /etc/ssh/sshd_config

Найдите строку:

PermitRootLogin yes

и замените её на:

PermitRootLogin no
Изменение параметра PermitRootLogin в sshd_config

После этого сохраните изменения (Ctrl + O → Enter → Ctrl + X) и перезапустите SSH:

sudo systemctl restart sshd

Проверка подключения через нового пользователя

Важно не закрывать текущее root-подключение, пока не убедитесь, что новый пользователь успешно заходит по SSH.

Откройте новое окно терминала и выполните:

ssh admin@123.45.67.89

Если вход работает — значит всё сделано правильно. Теперь root-аккаунт по SSH использоваться не будет.

Проверка подключения под новым пользователем

Как вернуть root-доступ по SSH

Если по ошибке запретили root и забыли создать нового пользователя, есть два варианта восстановления:

  • Войти через консоль в панели управления хостингом (VNC, Web Console).
  • Открыть файл /etc/ssh/sshd_config и снова включить root:

    PermitRootLogin yes
  • Перезапустить SSH:

    systemctl restart sshd
Возврат root-доступа через консоль хостинга