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

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

В официальной документации VMware указано, что полная переустановка ESXi – единственный официально поддерживаемый способ сбросить пароль root (https://kb.vmware.com/s/article/1317898):
Reinstalling the ESXi host is the only supported way to reset a password on ESXi
. Либо вы можете использовать Host Profiles для сброса пароля (требуется vCenter и лицензия Enterprise Plus).

Но при переустановке вы полностью потеряете конфигурацию (настройки) вашего хоста ESXi (файлы данных и конфигурации виртуальных машин останутся на VMFS/NFS хранилище, и вы сможете быстро импортировать их на хосте после переустановки).

На самом деле, вы можете сбросить пароль root на VMware ESXi, если загрузите ваш хост с помощью любого загрузочного/rescue диска с Linux и это не трудно.

Итак, если вы забыли пароль root для подключения и не можете аутентифицироваться под root через DCUI или веб интерфейс VMware Host Client:

Authentication failed
Invalid login or password.

Неправильный root пароль для VMware ESXi

Сброс пароля ESXi с помощью загрузочного диска Linux

ESXi хранит пароли (а точнее хэши) пользователей в файле /etc/shadow, который хранится в архиве local.tgz, который заархивирован в state.tgz. Теоретически, вы можете получить кэш пароля root из этого файла и расшифровать его, но на практике эта задача выполнима только для простых паролей. Поэтому ваша задача – установить пустой текущий пароль для root в файле shadow, или заменить его на хэш известного пароля.

Загрузите ваш хосте ESXi с любого LiveCD с Linux и откройте консоль.

Выведите список разделов на диске:

# fdisk –l

Нам нужны разделы /dev/sda5 (в терминах VMware называется
bootbank
) и /dev/sda6 (содержит
altrbootbank
) размером 1 Гб в ESXi 7.x (в предыдущих версиях размер этих разделов был 250 Мб).

vmware fdisk /dev/sda5 раздел bootbank

Сначала нужно сбросить пароль в конфигурации ESXi на /dev/sda5. Создайте точку монтирования и каталог для временных файлов:

# mkdir /mnt/sda5
# mkdir /mnt/sda6
# mkdir /temp

Смонтируйте раздел /dev/sda5:

# mount /dev/sda5 /mnt/sda5

Скопируйте файл state.tgz с раздела sda5:

# cp /mnt/sda5/state.tgz /temp
# cd /temp

Распакуйте архив state.tgz:

# tar xzf state.tgz

Внутри еще один архив local.tgz, распакуйте и его:

# tar xzf local.tgz

В текущем каталоге появится папка etc.

Отредактируйте файл shadow с помощью любого текстового редактора:

# nano /temp/etc/shadow

В этом файле хранятся хэши паролей.

пароль root в файдле shadow esxi

Чтобы удалить текущий пароль и установить пустой пароль для root, сотрите значение хэша. Должно получится так:

сбросить пароль root esxi

Сохраните изменения в файле, удалите старые tgz архивы и перепакуйте все заново

# rm *.tgz
# tar czf local.tgz etc
# tar czf state.tgz local.tgz

Замените файл state.tgz на разделе sda5 ESXi:

# mv state.tgz /mnt/sda5

Отмонтируйте раздел:

# umount /mnt/sda5

Аналогичным образом задайте пустой пароль в файле passwd и на разделе sda6 (на этом разделе хранится резервная копия образа ESXi — altbootbank).

Теперь можно перезагрузить хост ESXi и извлечь загрузочную флешку/образ. Теперь вы сможете подключиться к ESXi с пустым паролем root.

Этот метод сброса пароля применим для всех версий ESXi (5.x, 6.x, 7.x и 8.x), в том числе к бесплатному VMware Hypervisor.

Не забудьте задать новый пароль root!!!

Сбросить пароль root в ESXi с помощью VMware Host Profiles

Если у вас развернут vCenter и на хостах установлены лицензии vSphere Enterprise Plus, вы можете сбросить пароль root на любом управляемом хосте с помощью VMware Host Profiles. В этом сценарии для применения настроек профиля VMware (и нового пароля root) к хосту ESXi используется привилегированный пользователь vpxa, которые добавляется при подключении хоста к vCenter. Этот способ позволяет сбросить пароль root без перезагрузки хоста ESXi.

  1. Подключитесь к вашему vCenter и перейдите в раздел Policies and Profiles -> Host Profiles -> Extract Host Profile; vSphere - получить host profile
  2. Выберите ваш ESXi хост и укажите имя профиля, под которым нужно сохранить его настройки;
  3. Щелкните по профили и выберите Edit Host Profile;
  4. Разверните следующую секцию конфигурации: Security and Services -> Security Settings -> Security -> User Configuration -> root;
  5. Задайте новый пароль root в разделе Fixed password configuration; задать новый пароль root через host profile
  6. Теперь нужно применить этот профиль к вашему хосту. Рекомендуется перевести хост в режим обслуживания (Maintenance Mode -> Enter Maintenance) и переместить все нагрузки и виртуальные машины на другие хосты;
  7. Теперь назначьте профиль на хост (Host profiles -> Attach Host Profile); Attach Host Profile
  8. Теперь перейдите в раздел Host Profilex, выберите ваш профиль и щелкните Remediate;
  9. Чтобы применить настройки из профиля (в том числе новый пароль), нажмите Remediate еще раз; Remediate - применить профиль к хосту VMware ESXi
  10. Пароль root на вашем ESXi будет сброшен, и вы можете вывести хост из режима обслуживания.

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