2026-09-18

Как разрешить root-вход по SSH в Linux (по ключу и по паролю)

По умолчанию в Debian/Ubuntu, Rocky и поздних CentOS вход root по SSH с паролем запрещён: при попытке подключения — access denied или permission denied. Это сделано для безопасности. Если вход root нужен, ниже — два способа.

Инструкция подходит для большинства UNIX-систем.


С использованием сертификата

После установки обычно уже можно войти под root по ключу. Разберём порядок.

На любом Linux-компьютере генерируем пару ключей:

ssh-keygen -t ed25519

В домашней директории появятся два файла:

ls -l ~/.ssh/

id_ed25519.pub (публичный) и id_ed25519 (приватный).

cat ~/.ssh/id_ed25519.pub

Скопируйте содержимое.

На целевом сервере:

mkdir -p /root/.ssh
vi /root/.ssh/authorized_keys

Вставьте содержимое id_ed25519.pub.

Подключаемся:

ssh root@<IP-сервера>

Вход по ключу без пароля. Для безопасности лучше генерировать отдельную пару ключей на каждом клиентском компьютере.


По паролю

Задаём пароль root:

passwd root

Вводим пароль дважды.

Правим конфигурацию SSH-сервера:

vi /etc/ssh/sshd_config

Параметр PermitRootLogin приводим к:

PermitRootLogin yes

Если параметр закомментирован — раскомментируйте.

По умолчанию значение может быть without-password или prohibit-password — оно разрешает вход root только средствами GSSAPI (не парольной аутентификации): смарт-карта, отпечаток пальца и т. п.

Перезапускаем SSH-сервер:

systemctl restart ssh || systemctl restart sshd

В старых системах без systemd:

service ssh restart || service sshd restart

Можно подключаться.


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

  • Безопасность — вход root по паролю сильно повышает риск подбора; используйте ключи и fail2ban.
  • prohibit-password — современный дефолт: вход root разрешён только по ключу/GSSAPI, но не по паролю.
  • PermitRootLogin vs AllowUsers — если задан AllowUsers, root должен быть в списке, иначе вход запрещён независимо от PermitRootLogin.
  • PasswordAuthentication no — при отключённой парольной аутентификации PermitRootLogin yes не поможет.
  • SELinux (RPM) — в некоторых системах нужно проверить контекст ~/.ssh/authorized_keys (restorecon).
  • Праваauthorized_keys должен принадлежать root, каталог .ssh — с правами 700, файл — 600.
  • Лучше не включать — для администрирования предпочтительнее обычный пользователь с sudo и ключами.

Шпаргалка

# по ключу
ssh-keygen -t ed25519
mkdir -p /root/.ssh && vi /root/.ssh/authorized_keys   # вставить id_ed25519.pub

# по паролю
passwd root
vi /etc/ssh/sshd_config     # PermitRootLogin yes
systemctl restart ssh || systemctl restart sshd

Проверено на: Ubuntu 22.04/24.04/26.04, Debian 12, Rocky Linux 9.
Дата: Сентябрь 2026.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *