Как включить доступ через ssh от пользователя рут (root) в Линукс?
По умолчанию в большинстве дистрибутивов Linux (например, Ubuntu, Debian, Rocky Linux, CentOS) прямой доступ по SSH от пользователя root отключён — это мера безопасности.
Пошаговая инструкция
Задайте пароль для пользователя root
Сначала нужно убедиться, что у учётной записи root установлен пароль. Выполните команды (от имени пользователя с правами sudo):
bash
sudo -s
Введите новый пароль для root и подтвердите его.
Отредактируйте конфигурационный файл SSH
Откройте файл /etc/ssh/sshd_config с помощью текстового редактора (например, nano или vi):
bash
PHP код:
nano /etc/ssh/sshd_config
Измените параметр PermitRootLogin
Найдите строку, содержащую PermitRootLogin. Возможные варианты исходного значения:
no — прямой доступ root запрещён;
without-password или prohibit-password — разрешён только вход без пароля (например, по сертификату);
закомментированная строка (начинается с #).
Измените строку так, чтобы она выглядела следующим образом:
bash
PHP код:
PermitRootLogin yes
Если строка была закомментирована, уберите символ # в начале строки.
Сохраните изменения и закройте редактор.
Для nano: нажмите Ctrl + O для сохранения, затем Ctrl + X для выхода.
Перезапустите службу SSH
Выполните одну из команд (в зависимости от системы инициализации):
bash
PHP код:
systemctl restart sshd # для систем с systemd
service ssh restart # для старых систем
Если ни одна из команд не сработала, можно перезагрузить всю систему:
bash
Проверьте возможность подключения
Попробуйте подключиться к системе от имени root:
bash
PHP код:
ssh root@<адрес_сервера>
Введите пароль root, если всё настроено верно — подключение будет успешным.
Альтернативный способ: вход по ключу (более безопасно)
Сгенерируйте пару ключей на клиентской машине:
bash
PHP код:
ssh-keygen -t ed25519
Скопируйте публичный ключ на сервер:
bash
PHP код:
ssh-copy-id root@<адрес_сервера>
На сервере создайте каталог и файл для ключей (если их ещё нет):
bash
PHP код:
mkdir /root/.ssh
vi /root/.ssh/authorized_keys
Вставьте содержимое публичного ключа (id_ed25519.pub с клиентской машины) в файл authorized_keys.
Перезапустите SSH-сервер (см. п. 5 основной инструкции).
Важные замечания
Безопасность. Включение прямого доступа root по SSH снижает уровень безопасности системы. Используйте эту настройку только на доверенных локальных сетях.
Производственные системы. На рабочих (продакшн) серверах рекомендуется не разрешать прямой вход от root по SSH.
Резервное копирование. Перед редактированием /etc/ssh/sshd_config сделайте резервную копию файла:
bash
PHP код:
cp /etc/ssh/sshd_config /etc/ssh/sshd_config.bak
Мониторинг попыток входа. Настройте систему журналирования и мониторинга (например, fail2ban) для защиты от брутфорс-атак.
Следуя этим рекомендациям, вы сможете безопасно настроить доступ root по SSH при необходимости.