ESC

Start typing to search across invoices, services, domains, tickets, and more...

Search... Ctrl+K
Linux-сервер

Забыли пароль root в Linux? Как сбросить: инструкция 2026

5 шагов 16 мин чтения 4 просмотров 0
Содержание

Если вы потеряли пароль root от сервера и не настроили вход по ключу, по SSH больше не войти. Но если у вас есть доступ к консоли сервера, пароль можно сбросить на этапе загрузки. В этом руководстве описаны три распространённых способа: rd.break в GRUB (семейство RHEL), init=/bin/bash (работает везде) и монтирование диска из режима восстановления. Все они позволяют вернуть доступ без переустановки ОС и без потери данных.

Коротко о главном

  • Если вы забыли пароль root в Linux, его можно сбросить на этапе загрузки при наличии доступа к консоли сервера — без переустановки ОС и без потери сайтов, баз данных и других рабочих данных.
  • В системах семейства RHEL, таких как Rocky Linux 9 и AlmaLinux 9, рекомендуется сбрасывать пароль root, добавив rd.break в GRUB, причём обязательно нужно выполнить touch /.autorelabel, чтобы SELinux переразметил контексты файлов.
  • В Ubuntu 22.04/24.04 и Debian 12 рекомендуется добавить init=/bin/bash в строку linux в GRUB, а затем сбросить пароль командой passwd root.
  • Если GRUB защищён паролем или его меню не видно в VNC, можно загрузить систему восстановления, смонтировать исходный корневой раздел и сменить пароль root через chroot.
  • В облачных VPS IMIDC консоль VNC открывается со страницы сведений о продукте в Клиентском центре для такого экстренного восстановления, а удалённое управление или восстановление выделенных серверов IMIDC выполняется по тикету в поддержку.

Для кого эта инструкция / подготовка

  • ОС: Rocky Linux 9, AlmaLinux 9 (рекомендуется rd.break); Ubuntu 22.04/24.04, Debian 12 (рекомендуется init=/bin/bash). Старые системы, например CentOS 7, также поддерживают rd.break.
  • Доступ к консоли: откройте консоль VNC на странице сведений о продукте в Клиентском центре IMIDC. Для выделенных серверов может понадобиться IPMI/KVM; если ваш продукт его не предоставляет или вы не уверены, отправьте тикет — наши специалисты помогут.
  • Диск не зашифрован (для дисков, зашифрованных LUKS, сначала нужно ввести парольную фразу).
  • Перед началом рекомендуем создать снимок в Клиентском центре или убедиться, что у вас есть резервная копия (если продукт это поддерживает).

Пошаговая инструкция

Шаг 1. Перезагрузите сервер через VNC и войдите в меню GRUB

В консоли VNC отправьте Ctrl+Alt+Del или перезагрузите сервер из Клиентского центра. Как только появится меню загрузки GRUB, нажмите любую клавишу со стрелкой, чтобы остановить отсчёт. В Ubuntu меню по умолчанию скрыто: удерживайте Shift во время загрузки (BIOS) или несколько раз нажмите Esc (UEFI), чтобы его вызвать.

Выберите ядро по умолчанию, нажмите e, чтобы перейти в режим редактирования, и найдите строку, начинающуюся с linux (в системах семейства RHEL это может быть linux или linuxefi).

Шаг 2A. Rocky / AlmaLinux — используйте rd.break

Добавьте rd.break в конец строки linux. Если там есть параметр последовательной консоли, например console=ttyS0, а VNC ничего не показывает, удалите его. Нажмите Ctrl+X для загрузки. В приглашении switch_root:/# выполните:

mount -o remount,rw /sysroot
chroot /sysroot
passwd root
touch /.autorelabel
exit
exit

touch /.autorelabel обязателен: эта команда заставляет SELinux переразметить контексты файлов при следующей загрузке. Без неё вы можете не войти в систему из-за неправильной метки на /etc/shadow. Переразметка занимает несколько минут, после чего система автоматически перезагрузится ещё раз — наберитесь терпения.

Шаг 2B. Ubuntu / Debian — используйте init=/bin/bash

В строке linux замените ro на rw, удалите quiet splash и добавьте в конец init=/bin/bash. Нажмите Ctrl+X или F10 для загрузки. В приглашении root@(none):/# выполните:

mount -o remount,rw /
passwd root
sync
exec /sbin/init

В этом режиме systemd не запущен, поэтому обычная команда reboot не сработает — вместо неё используйте exec /sbin/init, чтобы продолжить обычную загрузку. Если система зависла, можно принудительно перезагрузить её в VNC командой echo b > /proc/sysrq-trigger (обязательно сначала выполните sync).

Совет: init=/bin/bash работает и в системах семейства RHEL, но после этого всё равно нужен touch /.autorelabel.

Шаг 3. Режим восстановления (если GRUB нельзя отредактировать)

Если GRUB защищён паролем или меню не видно в VNC, используйте систему восстановления (Rescue). Если в Клиентском центре нет пункта для режима восстановления, отправьте тикет с просьбой подключить rescue-ISO. Загрузившись в систему восстановления, выполните:

lsblk -f                          # Find the original root partition, e.g. /dev/vda1
mount /dev/vda1 /mnt
# If the root partition is on LVM, run vgchange -ay first, then mount /dev/mapper/xxx-root
for d in dev proc sys; do mount --bind /$d /mnt/$d; done
chroot /mnt passwd root
touch /mnt/.autorelabel           # Only needed on SELinux systems (Rocky/Alma)
umount -R /mnt
reboot

Шаг 4. Проверьте вход и наведите порядок

Войдите по SSH с новым паролем. Если по-прежнему появляется Permission denied, проверьте, не отключён ли вход root по паролю в /etc/ssh/sshd_config.d/. В таком случае войдите через VNC и настройте SSH-ключ. После сброса рекомендуем сразу настроить аутентификацию по ключу и сохранить пароль в менеджере паролей.

Часто задаваемые вопросы

Удалятся ли данные на сервере при сбросе пароля root?

Нет. Эти способы меняют только хеш пароля в /etc/shadow и не затрагивают сайты, базы данных и другие рабочие данные. Однако при работе в консоли есть риск ошибиться, поэтому заранее сделайте резервную копию.

Сменил пароль в Rocky Linux, но войти всё равно не могу?

Чаще всего причина в том, что забыли выполнить touch /.autorelabel, и SELinux отказывается читать новый файл shadow. Снова загрузитесь с rd.break и выполните эту команду.

Можно ли сбросить пароль root прямо в Клиентском центре?

Некоторые облачные продукты могут поддерживать онлайн-сброс, но это зависит от агента в образе и типа продукта. Проверьте, какие функции реально доступны на странице сведений о продукте в Клиентском центре IMIDC. Если такой функции нет, выполните сброс вручную по этой инструкции или отправьте тикет.

Что делать, если в консоли VNC вводятся не те символы?

Возможно, не совпадает раскладка клавиатуры. Избегайте спецсимволов и сначала задайте простой временный пароль, затем войдите по SSH и смените его на надёжный командой passwd.

Итоги

При наличии доступа к консоли забытый пароль root не требует переустановки системы: в семействе RHEL используйте rd.break и не забудьте запустить переразметку SELinux; в Debian/Ubuntu — init=/bin/bash; если GRUB недоступен, переходите в режим восстановления. В облачных VPS IMIDC есть консоль VNC для такого экстренного восстановления. Для удалённого управления или восстановления выделенных серверов отправьте тикет через Клиентский центр — техническая команда работает круглосуточно.

Читайте также

Помог ли вам данный ответ?

Похожие руководства