Справочник системных ошибок и решений

Windows Server, Active Directory, 1С:Предприятие, СУБД, Linux, Cisco, MikroTik, Asterisk.

⚠️ Важная информация Все материалы, инструкции, команды и скрипты на сайте предоставлены исключительно в ознакомительных целях. Их применение может повлиять на работу операционной системы, программного обеспечения, баз данных, сетевого оборудования и других компонентов инфраструктуры. Перед выполнением действий создайте резервную копию и по возможности протестируйте изменения в безопасной среде. Пользователь самостоятельно оценивает риски и несет ответственность за результат. При отсутствии необходимых знаний обратитесь к квалифицированному ИТ-специалисту.

Linux / DevOps

Запрещаем вход под root по SSH: создание пользователя sudo и PermitRootLogin no

Обновлено: 27.08.2026 · Официальная документация ↗

Почему прямой вход под пользователем root по SSH крайне опасен

Учетная запись root (суперпользователь) существует абсолютно на каждом Linux-сервере в мире. Злоумышленникам уже известно имя учетной записи — им остается лишь подобрать пароль. Если хакер подберет пароль к root, он мгновенно получает неограниченный контроль над всем сервером. Правильный стандарт безопасности (CIS Benchmarks) требует: полностью запретить прямой вход под root по SSH и работать через персональные учетные записи с повышением привилегий через sudo.

Преимущества отключения входа root

  • Злоумышленник не знает логинов реальных пользователей системы.
  • Персонализированный аудит: в системных журналах четко фиксируется, кто именно выполнил опасную команду.
  • Защита от случайных фатальных ошибок администратора при работе в терминале.

Пошаговый регламент закрытия прямого доступа root

Шаг 1: Создание нового системного пользователя

Подключитесь к серверу и создайте нового пользователя (замените adminuser на желаемое имя):

sudo adduser adminuser

Система попросит задать надежный пароль и подтвердить его.

Шаг 2: Выдача пользователю прав администратора (группа sudo)

Добавьте созданного пользователя в группу системных администраторов:

sudo usermod -aG sudo adminuser

Шаг 3: Проверка работы sudo под новым пользователем

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

su - adminuser
sudo whoami

(Система должна запросить пароль пользователя adminuser и вернуть ответ: root).

Шаг 4: Отключение прямого входа root в конфигурации SSH

Откройте файл конфигурации демона OpenSSH:

sudo nano /etc/ssh/sshd_config

Найдите директиву PermitRootLogin и измените ее значение на no:

PermitRootLogin no

Сохраните файл (Ctrl + O -> Enter -> Ctrl + X).

Шаг 5: Проверка конфигурации и перезапуск SSH

sudo sshd -t
sudo systemctl restart ssh

Шаг 6: Проверка блокировки в НОВОЙ вкладке терминала

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

ssh root@IP_вашего_сервера

Сервер должен отклонить попытку (Permission denied). Затем подключитесь под новым пользователем: ssh adminuser@IP_вашего_сервера — вход должен пройти успешно.

Типовые ошибки администраторов

  • Отключение PermitRootLogin до проверки прав нового пользователя: Если вы запретите вход root, не убедившись, что новый пользователь успешно входит в группу sudo, вы рискуете навсегда потерять административный доступ к серверу.
  • Забытый перенос SSH-ключей: Если на сервере отключен парольный вход, не забудьте скопировать ваш публичный ключ в папку ~/.ssh/authorized_keys нового пользователя.
Требуется настроить централизованную систему управления доступами сотрудников?
ITSTM внедрит аутентификацию серверов через Active Directory / FreeIPA / LDAP с автоматическим отзывом прав при увольнении сотрудников.
💡 Практика специалистов: При настройке корпоративных серверов всегда выставляйте связку параметров в sshd_config: 'PermitRootLogin no', 'PasswordAuthentication no' и 'MaxAuthTries 3'. Это снижает поверхность сетевой атаки на SSH-сервис практически до нуля.

Частые вопросы (FAQ)

В чем разница между 'PermitRootLogin no' и 'PermitRootLogin prohibit-password'?

Значение 'no' полностью запрещает любой вход под root по SSH. 'prohibit-password' (или without-password) запрещает вход по паролю, но разрешает подключение под root с использованием криптографических SSH-ключей.

Как вернуть доступ, если случайно заблокировал себе вход?

Войдите через аварийную KVM/VNC консоль хостинга под учетной записью root (локальный вход через консоль не блокируется директивой SSH) и исправьте sshd_config.

Как скопировать SSH-ключ от пользователя root новому пользователю?

Выполните команды: sudo cp -r /root/.ssh /home/adminuser/ && sudo chown -R adminuser:adminuser /home/adminuser/.ssh.

Как полностью удалить учетную запись root?

Удалять системную учетную запись root с UID 0 категорически запрещено — на ней завязана вся архитектура ядра Linux и системных демонов.

Полезные материалы
Рекомендуем