Скидання пароля користувача root в ESXi 7.x | INTROSERV
EUR
european

EUR

usa

USD

Ukraine Ua
Ex. VAT Ex. VAT 0%

Скидання пароля користувача root в ESXi 7.x

⚠️ ВАЖЛИВЕ ПОПЕРЕДЖЕННЯ ЩОДО СУМІСНОСТІ

Цей метод скидання пароля root залежить від версії ESXi та не працює для всіх релізів.

Метод працює для:

  • ESXi 6.0, 6.5, 6.7 (усі версії)
  • ESXi 7.0 (GA)
  • ESXi 7.0 Update 1
  • ESXi 7.0 Update 2

Метод НЕ працює для:

  • ESXi 7.0 Update 3 і новіших версій (конфігураційний архів local.tgz зашифрований і зберігається як local.tgz.ve)
  • ESXi 8.0 та всіх наступних версій

Причина: Починаючи з ESXi 7.0 Update 3, VMware запровадила шифрування конфігураційних архівів, що робить неможливим пряме редагування файлу /etc/shadow за допомогою LiveCD.

Для зашифрованих версій (7.0 U3+, 8.0+) використовуйте альтернативні методи:

  • Використання crypto-util на іншому ESXi-хості (потрібне створення вкладеної ESXi-віртуальної машини)
  • Відновлення через Host Profiles (потрібен vCenter)
  • Перевстановлення ESXi із збереженням VMFS-датасторів (останній варіант)

Перед початком перевірте встановлену версію ESXi.

Іноді з тієї чи іншої причини ви можете не мати змоги автентифікуватися в консолі керування ESXi, оскільки у вас немає актуального пароля. Це може бути пов'язано зі зломом системи, збоєм системи, втратою пароля або якщо ви отримали ESXi у спадок без документації чи належного адміністративного контролю. Це неприємна ситуація, і з нею потрібно щось робити. Можливо, не відразу, але коли щось піде не так і вам потрібно буде втрутитися в систему, яка до цього моменту функціонувала нормально. Ця інструкція написана саме для таких випадків.

Існує кілька способів скидання пароля. Однак той, що описаний у цій статті, є універсальним і працюватиме не лише для версій 7.x, але й для більш ранніх. Він перевірений на практиці і працює в більшості випадків. Отже, починаємо.

Підготовка

Спочатку нам потрібно завантажитися з будь-якого Live CD. Це може бути інсталяційний образ Ubuntu або, як у нашому випадку, Finnix. Це дистрибутив на основі Debian з широкими можливостями діагностики та аварійного відновлення.

Після завантаження ви побачите запрошення консолі:

У випадку якщо ваш сервер знаходиться віддалено і ви підключені до нього через IP-KVM, працювати в цьому режимі не дуже зручно через високий час відгуку консолі. Щоб уникнути цього, можна налаштувати SSH-сервер. Якщо це не проблема, цей крок можна пропустити.

# задаємо пароль root для live-системи passwd # запускаємо ssh-сервер service ssh start

Після цього можна підключитися до сервера за допомогою улюбленого SSH-клієнта або з консолі:

ssh root@1.2.3.4

Пошук розділу ESXi

Тепер нам потрібно визначити, на якому диску знаходиться потрібний нам розділ. Для цього спочатку визначимо, які диски у нас є.

root@0:~# lsblk NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINTS loop0 7:0 0 377.2M 1 loop /usr/lib/live/mount/rootfs/filesystem.squashfs sda 8:0 1 3.6T 0 disk └─sda1 8:1 1 3.6T 0 part sdb 8:16 1 3.6T 0 disk └─sdb1 8:17 1 3.6T 0 part sr0 11:0 1 455M 0 rom /run/live/medium zram0 252:0 0 62.8G 0 disk [SWAP] nvme1n1 259:0 0 476.9G 0 disk └─nvme1n1p1 259:2 0 476.9G 0 part nvme0n1 259:1 0 476.9G 0 disk ├─nvme0n1p1 259:3 0 4M 0 part ├─nvme0n1p2 259:4 0 4G 0 part ├─nvme0n1p3 259:5 0 469.6G 0 part ├─nvme0n1p5 259:6 0 250M 0 part ├─nvme0n1p6 259:7 0 250M 0 part ├─nvme0n1p7 259:8 0 110M 0 part ├─nvme0n1p8 259:9 0 286M 0 part └─nvme0n1p9 259:10 0 2.5G 0 part

Наш основний критерій пошуку — розділ диска розміром 250 МБ. Як бачимо, диск nvme0n1 містить такий розділ, розглянемо його детальніше:

fdisk -l /dev/nvme0n1

Наша ціль — розділ, що починається з сектора 8224 і має розмір 250 МБ. Саме цей розділ містить потрібні нам дані.

Вилучення файлів конфігурації

Для продовження створимо 2 директорії: одну для монтування диска, іншу для даних, які нам потрібно відредагувати.

mkdir /mnt/vmware && mkdir /tmp/vmware

Монтуємо знайдений розділ

mount /dev/nvme0n1p5 /mnt/vmware

Всередині багато всього, але нам потрібен конкретний файл

Його потрібно розпакувати в раніше створену директорію

tar -xf /mnt/vmware/state.tgz -C /tmp/vmware/ tar -xf /tmp/vmware/local.tgz -C /tmp/vmware/ rm /tmp/vmware/local.tgz

Тепер, якщо перейти до /tmp/vmware/ і переглянути його вміст, ми знайдемо там знайому директорію etc.

Редагування файлу Shadow

Далі нам потрібно відредагувати файл shadow і видалити з нього хеш пароля root. Таким чином ESXi після наших маніпуляцій вважатиме, що пароль користувача порожній.

nano /tmp/vmware/etc/shadow

Це потрібно зробити акуратно. Необхідно видалити вміст між першим і другим двокрапком

і це має виглядати ось так

Відновлення та перезавантаження

Збережіть файл клавішею F3. На цьому найважливіша частина завершена. Далі потрібно запакувати все назад і покласти туди, де знайшли.

cd /tmp/vmware/ tar -czf local.tgz etc tar -czf state.tgz local.tgz mv state.tgz /mnt/vmware/

Розмонтуємо диск ESXi і перезавантажуємося.

umount /mnt/vmware/ reboot

Після перезавантаження увійдіть до веб-інтерфейсу ESXi під користувачем root з порожнім паролем і змініть його на потрібний стандартними засобами через меню у правому верхньому куті.

Можливі проблеми та рішення

  • Помилка монтування розділу: Переконайтеся, що ви вказали правильний шлях до системного диска. Виконайте lsblk для відображення структури розділів.
  • Файл Shadow не знайдено: Перевірте правильність шляху /tmp/etc/shadow. Переконайтеся, що архіви state.tgz і local.tgz були успішно розпаковані.
  • Пароль не скинуто: Перевірте, що зміни збережено і файли успішно перезібрано та переміщено на вихідне місце.

Ось і все! Мету досягнуто! Рекомендуємо зберегти новий пароль і більше ніколи його не втрачати!

VAT

  • Other

    Ex. VAT

    0%
  • austria

    Austria

    20%
  • Belgium

    Belgium

    21%
  • Bulgaria

    Bulgaria

    20%
  • Croatia

    Croatia

    25%
  • Cyprus

    Cyprus

    19%
  • Czech Republic

    Czech Republic

    21%
  • Denmark

    Denmark

    25%
  • Estonia

    Estonia

    22%
  • France

    France

    20%
  • Finland

    Finland

    24%
  • Germany

    Germany

    19%
  • Greece

    Greece

    24%
  • Hungary

    Hungary

    27%
  • Ireland

    Ireland

    23%
  • Italy

    Italy

    22%
  • Latvia

    Latvia

    21%
  • Lithuania

    Lithuania

    21%
  • Luxembourg

    Luxembourg

    17%
  • Malta

    Malta

    18%
  • Netherlands

    Netherlands

    21%
  • Poland

    Poland

    23%
  • Portugal

    Portugal

    23%
  • Romania

    Romania

    19%
  • Slovakia

    Slovakia

    20%
  • Slovenia

    Slovenia

    22%
  • Spain

    Spain

    21%
  • Sweden

    Sweden

    25%
  • USA

    USA

    0%
european
states
  • germany
  • Español
  • Italiano
  • Poland
  • Русский
  • Slovenski
  • Türkçe
  • ukraine
  • kingdom
  • French
  • Hrvatska
  • Other
  • Austria
  • Belgium
  • Bulgaria
  • Croatia
  • Cyprus
  • Czech Republic
  • Denmark
  • Estonia
  • Finland
  • France
  • Germany
  • Greece
  • Hungary
  • Ireland
  • Italy
  • Latvia
  • Lithuania
  • Luxembourg
  • Malta
  • Netherlands
  • Poland
  • Portugal
  • Romania
  • Slovakia
  • Slovenia
  • Spain
  • Sweden
  • USA