Перейти к содержимому
UAhostingБлог
VPS и серверы

Как установить пароль root на VPS: Debian, Ubuntu и Rocky Linux

Получили VPS, а дата-центр предоставил логин обычного пользователя вместо root? Если у этого пользователя есть права sudo, установить новый пароль root можно одной командой:

sudo passwd root

Ниже — полная инструкция: как войти с первоначальным логином, задать пароль root, при необходимости разрешить прямой SSH-вход и проверить результат. Примеры рассчитаны на Debian 12/13, Ubuntu Server 22.04/24.04 и Rocky Linux 9/10 с systemd и OpenSSH.

Что нужно знать о root и sudo

root — учетная запись администратора Linux. Она уже существует в системе: создавать ее через adduser не нужно. sudo позволяет первоначальному пользователю выполнять административные команды.

Например, OVHcloud выдает VPS с пользователем debian, ubuntu или rocky в зависимости от ОС; точный логин указан в письме об активации. В других дата-центрах название может отличаться. Сам логин еще не подтверждает наличие прав sudo.

Для настройки сервера часто достаточно sudo или перехода в оболочку root:

sudo -i

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

Перед изменением SSH: оставьте текущее соединение открытым до успешной проверки нового входа. Прямой вход root по паролю повышает риск подбора пароля. Для постоянной работы лучше использовать SSH-ключи и sudo; следующие шаги нужны, если вы осознанно выбрали доступ root по паролю. Директива PasswordAuthentication yes также разрешает парольную аутентификацию другим пользователям, если ее не ограничивают отдельные правила.

1. Войдите под пользователем, которого предоставил дата-центр

Откройте терминал или SSH-клиент. Замените USERNAME на логин из письма, а SERVER_IP — на адрес вашего VPS:

ssh USERNAME@SERVER_IP

Примеры для типовых образов OVHcloud:

ОСКоманда подключения
Debianssh debian@SERVER_IP
Ubuntussh ubuntu@SERVER_IP
Rocky Linuxssh rocky@SERVER_IP

Если используется нестандартный порт, добавьте -p PORT. Подключение может выполняться по паролю или SSH-ключу. Если система требует изменить временный пароль первоначального пользователя, выполните это требование и подключитесь повторно.

2. Установите новый пароль root

На Debian, Ubuntu и Rocky Linux команда одинакова:

sudo passwd root
  1. Если появится запрос [sudo] password for USERNAME:, введите пароль первоначального пользователя. Если настроен sudo без пароля, этого запроса не будет.
  2. На запрос New password: введите новый пароль root.
  3. На запрос Retype new password: повторите новый пароль root.

При вводе символы и звездочки не отображаются — это нормально. Используйте длинный уникальный пароль, сохраненный в менеджере паролей. Старый пароль root для этой операции не нужен.

Успешное завершение обычно выглядит так:

passwd: password updated successfully

В Rocky Linux формулировка может отличаться, например passwd: all authentication tokens updated successfully.

Проверьте пароль внутри текущей SSH-сессии:

su -
whoami

После su - введите новый пароль root. Команда whoami должна показать root. Затем выполните exit, чтобы вернуться к первоначальному пользователю. Если вам нужен только пароль root или работа через sudo, на этом можно завершить.

3. При необходимости разрешите SSH-вход root по паролю

Сначала создайте резервную копию настроек SSH. Команда сохранит каталог с конфигурацией и ключами в отдельной папке внутри /root; не публикуйте ее содержимое:

sudo cp -a /etc/ssh "/root/ssh-backup-$(date +%Y%m%d-%H%M%S)"

Откройте именно конфигурацию SSH-сервера — sshd_config, с буквой d:

sudo vi /etc/ssh/sshd_config

Разместите эти две директивы в самом начале файла, перед Include и любым блоком Match. Если они уже находятся в начале, измените их значения:

PermitRootLogin yes
PasswordAuthentication yes

Для вставки в начало в vi нажмите Esc, введите gg, затем нажмите большую букву O и вставьте строки. Для сохранения нажмите Esc, введите :wq и нажмите Enter. Если удобнее использовать nano и он установлен, откройте файл через sudo nano /etc/ssh/sshd_config; сохранение — Ctrl+O, Enter, выход — Ctrl+X.

Строки должны быть без символа # в начале. Значение prohibit-password или without-password запрещает парольный SSH-вход root, а no запрещает его SSH-вход полностью.

Почему важно расположение строк: OpenSSH обычно использует первое полученное значение директивы. Файлы /etc/ssh/sshd_config.d/*.conf, включая настройки образа провайдера, могут подключаться через Include раньше остальной части основного файла. Поэтому простое добавление строк внизу может не сработать. Отдельные правила Match также могут менять результат для конкретного подключения.

4. Проверьте конфигурацию перед применением

Сначала проверьте синтаксис:

sudo /usr/sbin/sshd -t

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

sudo /usr/sbin/sshd -T | grep -E '^(permitrootlogin|passwordauthentication) '

Ожидаемый результат:

permitrootlogin yes
passwordauthentication yes

sshd -T читает конфигурацию с диска, но не применяет ее к запущенной службе. Без параметра -C эта проверка также не моделирует правила Match конкретного подключения.

5. Примените изменения: команды для разных ОС

Debian 12/13:

sudo /usr/sbin/sshd -t && sudo systemctl reload ssh
sudo systemctl is-active ssh

Ubuntu Server 22.04/24.04:

sudo /usr/sbin/sshd -t && sudo systemctl reload ssh
sudo systemctl is-active ssh

Rocky Linux 9/10:

sudo /usr/sbin/sshd -t && sudo systemctl reload sshd
sudo systemctl is-active sshd

Символы && означают, что перечитывание настроек выполнится только после успешной проверки. Ожидаемое состояние службы — active. Перезагружать весь VPS для этих изменений не требуется.

6. Проверьте новый вход в отдельном окне

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

ssh -o PreferredAuthentications=password -o PubkeyAuthentication=no root@SERVER_IP

Эта команда проверяет именно вход по паролю, даже если у вас уже есть SSH-ключ. При нестандартном порте добавьте -p PORT. Введите новый пароль root, затем проверьте:

whoami

Результат должен быть root. Только после успешного нового входа можно закрывать первоначальную сессию.

Если пароль или SSH-вход не работает

  • sudo: command not found или user is not in the sudoers file: первоначальная учетная запись не имеет готового доступа через sudo. Нужна помощь дата-центра или администратора, у которого уже есть root-доступ.
  • su — работает, но SSH отказывает: пароль установлен, однако доступ ограничивает SSH или другая политика. Проверьте Include, Match, AllowUsers, AllowGroups, DenyUsers, DenyGroups и AuthenticationMethods. Не отключайте MFA или другие ограничения наугад.
  • Нужны журналы: для Debian/Ubuntu выполните sudo journalctl -u ssh -n 50 --no-pager, для Rocky Linux — sudo journalctl -u sshd -n 50 --no-pager.
  • Connection refused или тайм-аут: проверяйте адрес, порт, состояние службы и сетевые правила. Сама установка другого пароля не устранит такую ошибку.

Эта инструкция предназначена для VPS или выделенного сервера, к которому у вас есть административный доступ. На обычном общем хостинге клиентский SSH-доступ не предоставляет прав root.

Официальная документация

От инструкции — к настройке

Условия и возможности соответствующей услуги — на основном сайте UAhosting.

Посмотреть услугу