Якщо ви забули пароль від 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 із новим паролем.

Що далі

Якщо раптом у вас щось йде не так, коли ви намагаєтеся пройти інструкції, опишіть вашу ситуацію в коментарі до статті або приходьте в чат з підтримкою в віконці в нижньому правому кутку. Ми завжди на зв’язку. Будемо раді допомогти!

Чи була ця стаття корисною?

Дякуємо за відгук!