Почти все 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 завершено.