В официальной документации 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.
Сброс пароля 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 Мб).
Сначала нужно сбросить пароль в конфигурации 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, сотрите значение хэша. Должно получится так:
Сохраните изменения в файле, удалите старые 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 в ESXi с помощью VMware Host Profiles
Если у вас развернут vCenter и на хостах установлены лицензии vSphere Enterprise Plus, вы можете сбросить пароль root на любом управляемом хосте с помощью VMware Host Profiles. В этом сценарии для применения настроек профиля VMware (и нового пароля root) к хосту ESXi используется привилегированный пользователь vpxa, которые добавляется при подключении хоста к vCenter. Этот способ позволяет сбросить пароль root без перезагрузки хоста ESXi.
- Подключитесь к вашему vCenter и перейдите в раздел Policies and Profiles -> Host Profiles -> Extract Host Profile;
- Выберите ваш ESXi хост и укажите имя профиля, под которым нужно сохранить его настройки;
- Щелкните по профили и выберите Edit Host Profile;
- Разверните следующую секцию конфигурации: Security and Services -> Security Settings -> Security -> User Configuration -> root;
- Задайте новый пароль root в разделе Fixed password configuration;
- Теперь нужно применить этот профиль к вашему хосту. Рекомендуется перевести хост в режим обслуживания (Maintenance Mode -> Enter Maintenance) и переместить все нагрузки и виртуальные машины на другие хосты;
- Теперь назначьте профиль на хост (Host profiles -> Attach Host Profile);
- Теперь перейдите в раздел Host Profilex, выберите ваш профиль и щелкните Remediate;
- Чтобы применить настройки из профиля (в том числе новый пароль), нажмите Remediate еще раз;
- Пароль root на вашем ESXi будет сброшен, и вы можете вывести хост из режима обслуживания.
ребят — для vmWare esxi 5.1.xx эта статья не работает, не тратьте время — сразу переустанавливайте и да, храните виртуалке на одельных винтах от системы , всем добра
Работает она в 5.1 — просто с дополнениями 🙂
там два раздела /dev/sdc5 и /dev/sdc6 по 262 Мб и в каждом есть stat.gz-local.gz а в нем /etc/shadow править надо оба ,
помещаем туда root::13358:0:99999:7:::
Перезагружаем и радуемся жизни.
Как-то так
Да. Нам помогло поменять в двух местах /dev/sdc5 и /dev/sdc6 VmWare 5.1
Юра красавчик! Реально помогло на esxi 6.7!
Спасибо огромное!
А у нас слетели все настройки виртуальной машины(
esxi 7.03U3n
В архиве state.tgz находится 2 файла: encription.info и local.tgz.ve. Последний не распаковывается. Тупик.
Начиная с версии 7.0 U2 манипулирование shadow файлом не возможно, поскольку файл .tgz зашифрован.
В ESXi 7.0.3 и выше можно сбросить пароль через PowerCLI, если хост подключен к vCenter:
Connect-VIServer
$esxcli = Get-EsxCli -VMhost -V2
arg = $esxcli.system.account.set.CreateArgs()
$arg.id = ‘root’
$arg.password = ‘NewPassword’
$arg.passwordconfirmation = $arg.password
$esxcli.system.account.set.Invoke($arg)
Press F2 to enter the System Customization screen
Select Configure Lockdown Mode
Press Space to deselect the “Enable lockdown mode” option
Добрый день! После сброса пароля в Windows системе перестал подключатся по ssh пишет ошибку Ikex_exchange_identification: Connection closed by remote host
что можно посмотреть?
Ошибка какая-то неопредленная. Сходу не отвечу.
1) У вас случаем ssh ключи для подключение к ESXi не использовались?
https://winitpro.ru/index.php/2023/12/27/vmware-esxi-ssh-key-autentifikaciya/
2) С других компьютеров ssh подключение по паролю к ESXi работает?
Спасибо огромное!!! Всё получилось!