Допустим, вы забыли пароль от root. Или вам достался гипервизор с неизвестным паролем. Или кто-то очень умный зачем-то сменил пароль. Задача — сбросить пароль от root, потому что залогиниться нет возможности:
Authentication failed
Invalid login or password.
Можно переустановить ОС гипервизора, тоже хороший вариант. Но при этом мы теряем все настройки, которые применены на гипервизоре.
Если нужно сохранить все настройки, можно сбросить пароль от root в ESXi с помощью загрузочного диска с Linux или RescueCD. Способ подходит для ESXi 5.x, 6.x, 7.x, 8.x.
Хэш пароля root хранится в /etc/shadow. Этот файл находится в архиве local.tgz. Архив запакован в state.tgz. Расшифровать хэш пароля вряд ли нам по силам, но подменить на пустой пароль мы его сможем.
Загружаемся с RescueCD или LiveCD. Смотрим разделы:
fdisk -lНам нужны bootbank /dev/sda5 и altrbootbank /dev/sda6. Монтируем.
mkdir /temp
mkdir /mnt/sda5
mount /dev/sda5 /mnt/sda5Копируем архив и распаковываем:
cp /mnt/sda5/state.tgz /temp
cd /temp
tar xzf state.tgz
tar xzf local.tgzРедактируем хэш:
vim /temp/etc/shadowНаходим строку вида:
root:ХЭШ:00000:0:00000:0:::Стираем хэш между первыми двумя двоеточиями:
root::00000:0:00000:0:::Сохраняем, запаковываем:
rm *.tgz
tar czf local.tgz etc
tar czf state.tgz local.tgzЗаменяем файл:
mv state.tgz /mnt/sda5
umount /mnt/sda5Повторяем процедуру в /dev/sda6.
Можно перезагрузить гипервизор и залогиниться под root с пустым паролем.
