Start typing to search across invoices, services, domains, tickets, and more...
Если вы потеряли пароль root от сервера и не настроили вход по ключу, по SSH больше не войти. Но если у вас есть доступ к консоли сервера, пароль можно сбросить на этапе загрузки. В этом руководстве описаны три распространённых способа: rd.break в GRUB (семейство RHEL), init=/bin/bash (работает везде) и монтирование диска из режима восстановления. Все они позволяют вернуть доступ без переустановки ОС и без потери данных.
rd.break в GRUB, причём обязательно нужно выполнить touch /.autorelabel, чтобы SELinux переразметил контексты файлов.init=/bin/bash в строку linux в GRUB, а затем сбросить пароль командой passwd root.chroot.rd.break); Ubuntu 22.04/24.04, Debian 12 (рекомендуется init=/bin/bash). Старые системы, например CentOS 7, также поддерживают rd.break.В консоли VNC отправьте Ctrl+Alt+Del или перезагрузите сервер из Клиентского центра. Как только появится меню загрузки GRUB, нажмите любую клавишу со стрелкой, чтобы остановить отсчёт. В Ubuntu меню по умолчанию скрыто: удерживайте Shift во время загрузки (BIOS) или несколько раз нажмите Esc (UEFI), чтобы его вызвать.
Выберите ядро по умолчанию, нажмите e, чтобы перейти в режим редактирования, и найдите строку, начинающуюся с linux (в системах семейства RHEL это может быть linux или linuxefi).
Добавьте 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. Переразметка занимает несколько минут, после чего система автоматически перезагрузится ещё раз — наберитесь терпения.
В строке 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.
Если 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
Войдите по SSH с новым паролем. Если по-прежнему появляется Permission denied, проверьте, не отключён ли вход root по паролю в /etc/ssh/sshd_config.d/. В таком случае войдите через VNC и настройте SSH-ключ. После сброса рекомендуем сразу настроить аутентификацию по ключу и сохранить пароль в менеджере паролей.
Нет. Эти способы меняют только хеш пароля в /etc/shadow и не затрагивают сайты, базы данных и другие рабочие данные. Однако при работе в консоли есть риск ошибиться, поэтому заранее сделайте резервную копию.
Чаще всего причина в том, что забыли выполнить touch /.autorelabel, и SELinux отказывается читать новый файл shadow. Снова загрузитесь с rd.break и выполните эту команду.
Некоторые облачные продукты могут поддерживать онлайн-сброс, но это зависит от агента в образе и типа продукта. Проверьте, какие функции реально доступны на странице сведений о продукте в Клиентском центре IMIDC. Если такой функции нет, выполните сброс вручную по этой инструкции или отправьте тикет.
Возможно, не совпадает раскладка клавиатуры. Избегайте спецсимволов и сначала задайте простой временный пароль, затем войдите по SSH и смените его на надёжный командой passwd.
При наличии доступа к консоли забытый пароль root не требует переустановки системы: в семействе RHEL используйте rd.break и не забудьте запустить переразметку SELinux; в Debian/Ubuntu — init=/bin/bash; если GRUB недоступен, переходите в режим восстановления. В облачных VPS IMIDC есть консоль VNC для такого экстренного восстановления. Для удалённого управления или восстановления выделенных серверов отправьте тикет через Клиентский центр — техническая команда работает круглосуточно.