Отключение входа root по SSH Ubuntu 24

Почти все VPS на базе Linux “поставляются” с пользователем root, обладающим неограниченными привилегиями. Именно поэтому первым делом после получения VPS, в целях безопасности, нужно создать нового пользователя и отключить вход root по SSH. Отключение входа root предотвращает доступ root по SSH и означает, что ни у кого не будет неограниченных привилегий.

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

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

Добавим пользователя с именем someuser.

adduser someuser

После ввода команды потребуется ввести пароль и информацию о пользователе. Пароль обязателен. Все информационные поля можно оставить пустыми.

Имя пользователя может быть любым, но некоторые символы, например, точка, являются “нежелательными”. Чтобы обойти это ограничение при вызове команды следует использовать параметр –force-badname. Подобные имена могут потребоваться для работы по SSH через браузер с авторизацией через почту вида some.user@domain.com.

adduser --force-badname some.user

Добавим нового пользователя в группу sudo, чтобы у пользователя появился доступ к команде sudo, разрешающей выполнение команд от имени root

usermod -aG sudo someuser

Отключение входа root

Откроем файл конфигурации SSH в текстовом редакторе (предполагается что вы не закрыли ранее открытую сессию и все еще подключены как root, в противном случае необходимо использовать команду sudo)

nano  /etc/ssh/sshd_config

В файле нужно найти блок вида, содержащий поле PermitRootLogin

#LoginGraceTime 2m
#PermitRootLogin yes
#StrictModes yes
#MaxAuthTries 6
#MaxSessions 10

Это поле может быть не закомментировано или иметь иное значение (например, prohibit-password). Меняем значение поля на no

#LoginGraceTime 2m
PermitRootLogin no
#StrictModes yes
#MaxAuthTries 6
#MaxSessions 10

Сохраняем файл. Перезапускаем службу SSH

systemctl restart ssh.service

Собственно все: отключение входа root по SSH завершено.