Обновить настройки cookies

Как отключить root-доступ по SSH и создать безопасного пользователя в Ubuntu 24.04

27 Jun 2025, 20:34:37
Отключение удаленного доступа к серверу для пользователя root является базовой мерой безопасности при использовании серверов с операционной системой на базе Linux. В целом, при систематическом обновлении пароля пользователя root или отключении авторизации по паролю, и соблюдении других элементарных правил безопасности, нет ничего страшного в том, что SSH подключение доступно для суперпользователя. Именно по этому в большинстве случаев, при аренде выделенного сервера или VPS вы получаете именно эти данные для авторизации на сервере. Но, как и любой другой базовый случай (22 порт для SSH или URL /admin для админ панели сайта), данное имя пользователя является мишенью для злоумышленников. Ещё одна опасность использования пользователя root для повседневных задач - это его максимальные права в системе. Загруженные и выполненные под этим пользователем скрипты будут иметь доступ ко всем уголкам вашего сервера.
В этой статье мы будем работать на свежеустановленной ОС Ubuntu 24.04, но инструкция актуальна и для многих других систем на базе ядра Linux. В ней мы выполним три простых действия: создадим нового пользователя, дадим ему возможность использовать sudo и отключим root-доступ по SSH.

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

Подключаемся к серверу по SSH под пользователем root:
ssh root@your_server_IP
  • your_server_IP - IP-адрес вашего сервера
Создаём нового пользователя с помощью утилиты adduser:
adduser ehuser
  • ehuser - имя вашего пользователя
Указываем и подтверждаем пароль. Данные, такие как имя, телефона и т.д. можно пропустить нажимая Enter. Подтверждаем корректность информации буквой Y и получаем ответ об успешном создании пользователя и добавлению его в различные группы:
20250627_0R5ZPIjt

Включение sudo для пользователя

Мы выполнили всего одну команду, но уже можем подключиться к серверу через SSH под нашим новым пользователем. Однако при выполнении каких-либо команд от имени суперпользователя, привычная всем утилита sudo выдаёт ошибку - {your_user} is not in the sudoers file.:
20250627_UHs3HYeC
Для того чтобы это исправить, нам необходимо добавить нашего нового пользователя в группу sudo. Сделать это можно с помощью утилиты usermod:
usermod -aG sudo ehuser
  • -a - добавить пользователя в группу, без удаления из других групп;
  • -G sudo - указать в какую группу необходимо добавить пользователя. В нашем случае sudo;
  • ehuser - имя вашего пользователя.
Команда ничего не выдаст, что означает отсутствие ошибок при выполнении операции:
20250627_BcU2Taln
При использовании sudo под новым пользователем в этот раз нас ждёт успех:
20250627_UsGDqtM1

Отключение root-доступа по SSH

Для выполнения следующих действий, а именно непосредственного отключения доступа по SSH для пользователя root, мы уже можем подключиться к серверу под новым пользователем и выполнять все дальнейшие команды используя sudo.
Открываем файл настроек SSH:
sudo nano /etc/ssh/sshd_configНаходим параметр PermitRootLogin:
20250627_d1MLDfTB
Меняем значение yes на no, сохраняем файл комбинацией клавиш Ctrl + O, выходим из nano комбинацией Ctrl + X.
Перезагружаем сервер SSH:
sudo systemctl restart ssh.serviceТеперь при попытке подключения по SSH под пользователем root, ваш сервер будет выдавать ошибку доступа:
20250627_EzHsmJCG
Применение данной практики обеспечения безопасности имеет место быть только в совокупности с другими базовыми практиками, такими как смена стандартного порта SSH, о которой мы писали в статье Как изменить порт SSH?, и настройкой авторизации по SSH-ключам, которая также подобно рассмотрена в статье Настройка авторизации по SSH-ключам на Linux сервере. В случае возникновения трудностей с применением данных мер безопасности на выделенных серверах и VPS от EuroHoster, вы всегда можете обратиться за помощью в наш онлайн-чат или систему тикетов.