opened image

Сброс пароля в VMware ESXi 6

Если Вы хотите просто изменить пароль к пользователю root для доступа в панель VMware ESXi, то это можно сделать несколькими способами.

 

Способы сброса пароля

​​​​​​​

К примеру, если знаете текущий пароль, то можно просто изменить в самой панели управления ESXi,

а если забыли пароль, но у Вас имеется подключенная панель управления vCenter, то пароль на данный хост можно изменить в веб-панели vCenter.

В более ранних версиях (до 4.x) можно было изменить пароль через GRUB загрузчик.

 

Это все понятно, но что делать в случае, если у Вас установлен лишь автономный гипервизор VMware ESXi на выделенном сервере и Вы забыли пароль к пользователю root?

Ведь без возможности войти в панель управления под администрирующим пользователем,

Вы теряете возможность управления Вашими виртуальными машинами, дисками, сетью и всем остальным, а инструментов для восстановления пароля VMware в такой ситуации не предлагает.

 

На оффициальной форуме сайта VMware написано, что в таком случае нужно полностью переустанавливать сервер и гипервизор, что явно не является идеальным решением данной задачи.

К счастью мы можем воспользоваться "хаком", который я опишу ниже, подобная операция может быть довольно опасной, поэтому делайте данную операцию на свой страх и риск.

Также примите во внимание, что для выполнения операции нужно будет выключить сервер, что приведёт к остановке работы всех машин и служб на ней на время проведения.

 

Данное решение подходит для ESXi версий 5-6 и скорее всего для 7-8 тоже, я буду использовать версию 6.7 в качестве примера.

 

1. Для начала нужно будет подключить LiveCD ISO к выделенному серверу.

Прилагаю подробную инструкцию, как подключить свой образ ISO к выделенному серверу.

https://zomro.com/rus/blog/faq/234-kak-podkljuchit-svoj-obraz-iso-k-vydelennomu-serveru

 

Я буду использовать SystemRescueCD, который можно скачать здесь:

https://www.system-rescue.org/Download/

 

2. Теперь нужно найти файл на диске сервера, в котором хранится пароль пользователя root.

После того, как диск подключен, мы перезагрузили сервер и загрузились с LiveCD, нужно войти в консоль или терминал, в зависимости от Вашего выбора LiveCD.

В SystemRescueCD я выбрал первую опцию для загрузки Boot SystemRescueCD with default options,

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

 

 

3. Нужно найти раздел диска, на котором хранится конфигурация гипервизора и его загрузочные модули, для этого введём команду:

lsblk -lp

Вы должны увидеть подобную картину как на скриншоте ниже:

 

Таким разделом является раздел /dev/sda5 (Boot-bank 0)

Более подробно о структуре хранения данных гипервизора можно прочитать здесь:

https://docs.vmware.com/en/VMware-vSphere/7.0/com.vmware.esxi.install.doc/GUID-474D003B-C6FB-465D-BC1B-5FD30F8E2209.html


 

4. Тепер примонтируем данный раздел в папку /mnt нашего LiveCD командой:

mount /dev/sda5 /mnt

 

5. Проверим, есть ли на этом разделе файл state.tgz

ls /mnt/state.tgz

Должно показать, что такой файл найден:

 

Тепер создадим временную папку, где будем производить распаковку и редактирование.

mkdir /new

 

Переходим в новосозданную папку:

cd /new

 

Распакуем архив в нее:

tar -xf /mnt/state.tgz -C /new/

 

Теперь в папке /new должен появиться еще один архив, распакуем и его:

tar -xf local.tgz

 

Если всё сделано правильно, то в папке должна быть папка etc и архив local.tgz как на скриншоте.

 

Архив local.tgz нам уже не нужен, его нужно удалить:

rm local.tgz

 

6. Тепер в папке etc ищем файл shadow и открываем его с помощью текстового редактора vim:

vi etc/shadow

 

О том , как пользоваться редактором vim, у нас есть прекрасная статья здесь:

https://zomro.com/rus/blog/faq/204-redaktor-vim


 

Внутри файла дожно быть что-то подобное как на скриншоте ниже, как видно напротив пользователя root есть длинный странный код,

это и есть наш пароль, он выглядит так, потому что он хранится в зашифрованном виде.

 

Мы можем удалить данный хеш код (всё, что находится между первыми двумя двоеточиями), что приведёт к тому, что у пользователя root не будет пароля, в результате получим следующее:

 

Если не хотите оставлять вход без пароля, то можно, к примеру, заменить данный хеш на другой:

$6$q6uSw7nb/XO9hwSx$VDecNPTdNHdgDIKnVEMZggB0ooLzjWX22IuCAPkr06tVELOHdCiHsh.MjpSxmxqC7XTHUl4bOWTv5cPNZ0cxi0

Это зашифрованный пароль: 1234VMesxi

После чего сохраняем файл (в редакторе vim нужно ввести :wq)


 

7. Теперь нам нужно запаковать это всё и вернуть архив туда, откуда мы его взяли, выполните следующие команды поочерёдно:

cd /new

tar -czf local.tgz etc

tar -czf state.tgz local.tgz

mv state.tgz /mnt/

chmod 755 /mnt/state.tgz

 

8. Теперь отсоединяем раздел диска /dev/sda5 командой:

umount /mnt

 

9. Перезагружаем систему, отключаем LiveCD от сервера и загружаемся с диска сервера.

reboot

 

10. При входе в панель ESXi через консоль, нажимаем кнопку F2 и теперь должно пустить без пароля, если ранее Вы удалили хеш в файле.

Если Вы заменили пароль на хеш, который написан выше, то нужно ввести пароль: 1234VMesxi


Изменение пароля на новый

Далее ОБЯЗАТЕЛЬНО меняем пароль на новый! Для этого выбираем опцию Configure Password:

 

Оставляем поле Old Password пустым или вводим пароль 1234VMesxi, в зависимости от того, что было сделано ранее и затем вводим 2 раза новый пароль:

 

Пароль успешно изменен на новый и теперь можно входить в панель через веб-браузер.


Также предлагаем рассмотреть другие полезные статьи: