Если вы забыли пароль от root на Linux VPS у нас в облаке, вот инструкция, которая поможет сбросить пароль в разных дистрибутивах.

Зайдите в панель управления облаком и перейдите в раздел «Проект – Вычислительные ресурсы – Серверы». Кликните по названию нужного сервера и на открывшейся странице перейдите во вкладку «Консоль».

Вкладка «Консоль» в панели управления OpenStack Horizon

Содержание

  1. Centos 7
  2. Fedora 28
  3. openSUSE Leap 42
  4. Ubuntu 16, 18, 20, 22
  5. Debian 8 + Debian 9

Centos 7

Нажмите кнопку «Send Ctrl+Alt+Del» в правом верхнем углу консоли, это перезагрузит сервер. Сразу выделяем область консоли мышью. Во время перезагрузки нужно «поймать» меню загрузчика. В нашем образе CentOS 7 используется GRUB. 

Как только вы увидите на экране такую картинку, нажмите пробел или кнопку вниз — это прервет отсчет времени:

Как сбросить пароль от root в Centos 7

Стрелками выберите нужное ядро, которое отображено на скриншоте, затем введите латинское «e». После этого откроются опции загрузки ядра.

Опции загрузки ядра Linux при сбросе пароля от root

При помощи стрелок перейдите к началу строки, которая начинается с «linux16». Это путь к файлу ядра, а также опции для его загрузки. Вам нужно переписать эти опции, чтобы попасть в ОС без root-пароля. Для этого выполните такие шаги:

  • Замените ro на rw
  • Замените первое значение console=tty0 на console=tty
  • Удалите 2 значения: console=ttyS0,115200n8 и console=ttyS0,115200
  • В конце добавьте init=/bin/bash

Было:

Редактирование опций загрузки ядра Linux (До)

Стало:

Редактирование опций загрузки ядра Linux (После)

После изменений нажмите комбинацию клавиш CTRL+X. Эта комбинация перезагрузит ядро с новыми опциями. Если вы всё сделали правильно, отобразится вот это:

Сессия от имени root без пароля в Centos (После редактирования опций загрузки ядра)

Вы попали на сервер от имени root без пароля и можете сбросить сам пароль. Для этого введите такие команды:

passwd root
touch /.autorelabel
sync

Дальше, чтобы изменения применились, перезагрузите сервер. Только команды reboot или shutdown -r, а также кнопка «Send Ctrl+Alt+Del» для этого не подойдут. Они рассчитывают на init-демона, которого мы подменили процессом /bin/bash. Так что нужно сделать холодную перезагрузку сервера в контрольной панели (в колонке «Action») или запустить init-демона вручную при помощи такой команды:

exec /sbin/init

После этого можете заходить на сервер от имени root с новым паролем.

Fedora 28

Нажмите кнопку «Send Ctrl+Alt+Del» в правом верхнем углу консоли, это перезагрузит сервер. Сразу выделяем область консоли мышью. Во время перезагрузки нужно «поймать» меню загрузчика. В нашем образе Fedora используется  GRUB. 

Как только вы увидите на экране такую картинку, нажмите пробел или кнопку вниз — это прервет отсчет времени:

Как сбросить пароль от root для Fedora

GRUB некоторое время «думает» на этом меню загрузки. Введите латинское «e», чтобы открыть параметры загрузки ядра.

Опции ядра Linux на сервере с Fedora

При помощи стрелок перейдите к началу строки, которая начинается с «linux16». Это путь к файлу ядра, а также опции для его загрузки. Вам нужно переписать эти опции, чтобы попасть в ОС без root-пароля. Для этого выполните такие шаги:

  • Замените ro на rw
  • Замените первое значение console=tty1 на console=tty
  • Удалите значение console=ttyS0,115200n8
  • В конце добавьте rd.break enforcing=0

Было:

Редактирование опций ядра Fedora (До)

Стало:

Редактирование опций ядра Fedora (После)

После изменений нажмите комбинацию клавиш CTRL+X. Эта комбинация перезагрузит ядро с новыми опциями. Если вы всё сделали правильно, отобразится вот это:

Сессия от имени root без пароля в Fedora (После редактирования опций загрузки ядра)

Вы зашли в раздел консоли «emergency recovery». Сначала проверьте, можно ли вносить изменения в файловую систему. Для этого введите в консоли:

mount | grep vda

Если все сделали правильно, отобразится такой результат.

Проверка возможности редактировать файловую систему в Fedora

Вас интересует опция rw, которую вы только что задали в настройках. Должна быть указана она — не ro. Если видим ro — нужно перемонтировать файловую систему в rw:

mount -o remount, rw /

После монтирования снова проверьте, что опция при проверке указана как rw, при помощи команды из предыдущего пункта.

Затем выполните такие команды, чтобы сбросить пароль от root:

chroot /sysroot
passwd
sync
exit
exit

После этого пойдет нормальная загрузка ОС. Дождитесь окончания загрузки и войдите от имени root с новым паролем.

Первым делом поправьте Selinux после вашего вмешательства. Введите такие команды:

restorecon -v /etc/shadow
setenforce 1

openSUSE Leap 42

Если вы настраивали пароль на Grub-загрузчик и не помните его тоже этот способ вам не подойдет. Вам нужно будет загрузить сервер с другого источника — например, с OpenSuse Install DVD образа.

Нажмите кнопку «Send Ctrl+Alt+Del» в правом верхнем углу консоли, это перезагрузит сервер. Сразу выделяем область консоли мышью. Во время перезагрузки нужно «поймать» меню загрузчика. В нашем образе openSUSE используется  GRUB. 

Как только вы увидите на экране такую картинку, нажмите пробел или кнопку вниз — это прервет отсчет времени:

Как сбросить пароль от root для openSUSE

GRUB некоторое время «думает» на этом меню загрузки. Введите латинское «e», чтобы открыть параметры загрузки ядра.

Опции загрузки ядра на сервере с openSUSE

Чтобы восстановить пароль, будем использовать способ с запуском bash как init процесса. 

При помощи стрелок перейдите к началу строки, которая начинается с «linux». Это путь к файлу ядра, а также опции для его загрузки. Вам нужно переписать эти опции, чтобы попасть в ОС без root-пароля. Для этого выполните такие шаги:

  • Удалите значение: console=ttyS0,115200n8
  • Замените значение console=tty0 на console=tty
  • В конце добавьте init=/bin/bash

Было:

Редактирование опций ядра openSUSE (До)

Стало:

Редактирование опций ядра openSUSE (После)

После изменений нажмите комбинацию клавиш CTRL+X. Это выполнит перезагрузку сервера с новыми опциями. Если всё было сделано правильно, вы увидите такую картину:

Сессия от имени root без пароля в openSUSE (После редактирования опций загрузки ядра)

Это значит, что вы попали на сервер от root без пароля и можете его сбросить. Для этого сначала выполните монтирование файловой системы для возможности внесения изменений:

mount -o remount, rw /

Проверьте корректность изменений(в скобках должна быть указана опция rw, а не ro):

mount | grep vda

Дальше сбросьте пароль при помощи команды:

passwd

После этого на всякий случай выполните команду sync, чтобы все изменения из оперативной памяти записались на диск:

sync

Дальше, чтобы изменения применились, перезагрузите сервер. Только команды reboot или shutdown -r, а также кнопка «Send Ctrl+Alt+Del» для этого не подойдут. Они рассчитывают на init-демона, которого мы подменили процессом /bin/bash. Так что нужно сделать холодную перезагрузку сервера в контрольной панели (в колонке «Action») или запустить init-демона вручную при помощи такой команды:

exec /sbin/init

После этого можете заходить на сервер от имени root с новым паролем.

Ubuntu 16, 18, 20, 22

Нажмите кнопку «Send Ctrl+Alt+Del» в правом верхнем углу консоли, это перезагрузит сервер. Сразу выделяем область консоли мышью. Во время перезагрузки нужно «поймать» меню загрузчика. В нашем образе Ubuntu используется GRUB.

В Canonical меню GRUB обычно не видно. Чтобы его вызвать, надо зажать клавишу Shift (только левый) в процессе загрузки, как только мелькает надпись «Booting from hard disk». 

Если с первого раза не получится, пробуйте еще раз. В результате вы должны увидеть такую картинку. Стрелками выберите «Advanced options for Ubuntu» и нажмите Enter.

Как сбросить пароль от root в Ubuntu

Дальше выберите пункт с «(recovery mode)» и нажмите Enter.

Recovery mode в загрузчике GRUB на сервере с Ubuntu

Выберите пункт «root > Drop to root shell prompt» и нажмите Enter:

Опция root – Drop to root shell prompt в загрузчике GRUB на сервере с Ubuntu

В наших шаблонах ОС Ubuntu не нужно вводить дополнительный пароль. Мы попадаем на сервер от root без него.

Дальше сбросьте пароль при помощи команды:

passwd

После этого на всякий случай выполните команду sync, чтобы все изменения из оперативной памяти записались на диск:

sync

Дальше, чтобы изменения применились, перезагрузите сервер. Только команды reboot или shutdown -r, а также кнопка «Send Ctrl+Alt+Del» для этого не подойдут. Они рассчитывают на init-демона, которого мы подменили процессом /bin/bash. 

Вам нужно сделать холодную перезагрузку сервера в контрольной панели (в колонке «Action») или запустить init-демона вручную при помощи такой команды:

exec /sbin/init

В появившемся окне выберите опцию «resume > Resume normal boot». После этого можете заходить на сервер от имени root с новым паролем.

Опция resume – Resume normal boot в загрузчике GRUB на сервере с Ubuntu

Debian 8 + Debian 9

Нажмите кнопку «Send Ctrl+Alt+Del» в правом верхнем углу консоли, это перезагрузит сервер. Сразу выделяем область консоли мышью. Во время перезагрузки нужно «поймать» меню загрузчика. В нашем образе Debian используется  GRUB.

2. В Canonical меню Grub обычно не видно. Чтобы его вызвать, зажмите левый Shift в процессе загрузки, как только увидите надпись «Booting from hard disk». 

Если с первого раза не получится, пробуйте еще раз. В результате вы должны получить следующую картинку:

Как сбросить пароль от root в Debian

В отличие от Ubuntu, root-пользователь в образе Debian закрыт (на пароле). Потому мы не сможем воспользоваться штатным вариантом загрузки Rescue. Нужно поправить опции загрузки. 

Выберите пункт «Debian GNU/Linux» и нажмите латинскую «e». Откроются параметры выбранного пункта меню:

Редактирование опций загрузки ядра на сервере с Debian

При помощи стрелок перейдите к началу строки, которая начинается с «linux». Это путь к файлу ядра, а также опции для его загрузки. Вам нужно переписать эти опции, чтобы попасть в ОС без root-пароля. Для этого выполните такие шаги:

  • Замените ro на rw
  • Замените первое значение console=tt0 на console=tty
  • Удалите 2 значения: console=ttyS0,115200 и earlyprintk=ttyS0,115200
  • В конце добавьте init=/bin/bash

Было:

Редактирование опций ядра Debian (До)

Стало:

Редактирование опций ядра Debian (После)

После изменений нажмите комбинацию клавиш CTRL+X. Дальше вы попадёте на сервер, где можно будет сбросить пароль при помощи команды:

passwd

После этого на всякий случай выполните команду sync, чтобы все изменения из оперативной памяти записались на диск:

sync

Дальше, чтобы изменения применились, перезагрузите сервер. Только команды reboot или shutdown -r, а также кнопка «Send Ctrl+Alt+Del» для этого не подойдут. Они рассчитывают на init-демона, которого мы подменили процессом /bin/bash. 

Вам нужно сделать холодную перезагрузку сервера в контрольной панели (в колонке «Action») или запустить init-демона вручную при помощи такой команды:

exec /sbin/init

После этого можете заходить на сервер от имени root с новым паролем.

Что дальше

Если вдруг у вас что-то идёт не так, когда вы пытаетесь проследовать инструкциям, опишите вашу ситуацию в комментария к статье или приходите в чат с поддержкой в окошке в нижнем правом углу. Мы всегда на связи. Будем рады помочь!

Была ли статья полезной?

Спасибо за отзыв!