• XSS.stack #1 – первый литературный журнал от юзеров форума

VMs 4 способа сбросить пароль root на хосте VMWare ESXi

BuyKall

(L1) cache
Пользователь
Регистрация
07.07.2020
Сообщения
950
Реакции
373
Депозит
0.0011
Если вы забыли или потеряли пароль root от хоста ESXi, вы можете потерять контроль над ним и не сможете зайти на его консоль через SSH при наличии проблем с операционной системой или необходимости выполнить диагностику хоста. В этой статье я покажу 4 разных способа сбросить забытый пароль root на хосте VMware ESXi версии 6.7. Способ сброса пароля применим и к версиям ESXi 6.x и 5.x (как узнать версию ESXi).

С точки зрения VMWare, единственный правильный способ сброса пароля root на ESXi хосте – переустановка ОС (но это ведет к потере конфигурации и данных на локальных дисках). Все другие способы могут привести к отказу хоста, или переводу систему в неподдерживаемую конфигурацию, т.к. в ESXi отсутствует сервисная консоль и вы не можете сбросить пароль через однопользовательский режим как в Linux.

Допустим, вы забыли пароль root от одного из своих хостов ESXi. При этом возможны 2 сценария:
1. ваш хост добавлен в vCenter и вы все еще может управляться им
2. вы забыли пароль от отдельностоящего хоста ESXi (или от бесплатной редакции VMware Hypervisor

Сброс пароля ESXi с помощью VMware Host Profile​

Большинство хостов ESXi в крупных компаниях управляются через vCenter Server. Даже если вы забыли пароль root, vCenter без проблем может управлять настройками хоста, т.к. вы уже привязали хост к vCenter и пароль root вам просто не нужен. Если же вы выведете хост из vCenter (лучше этого не делать) и попробуете добавить его снова, вам понадобится указать root пароль. Поэтому, пока ваш хост управляется vCenter, вы можете сбросить пароль root с помощью профиля хоста VMware (Host Profile).

Пароль root на vCenter Server Appliance сбрасывается по-другому.
Host profile – это набор заданных вами параметров ESXi, которые можно применить к любому хосту для его быстрой настройки. Обычно профиль хоста создается после настройки типового хоста ESXi и экспорта его конфигурации в Host profile. Данный профиль администратор может применить к любому другому хосту.

  1. Запустите vSphere Web Client и авторизуйтесь в vCenter.
  2. На домашней странице выберите Host Profile
  3. Нажмите на кнопку Extract Profile from a host, чтобы извлечь профиль хоста ESXi с известным вам паролем root.
    word-image-11.jpeg
  4. Выберите хост ESXi и нажмите Next.
    word-image-12.jpeg
  5. Укажите имя профиля (желательно указать и его описание).
    word-image-13.jpeg
  6. После того, как новый профиль создан, отредактируйте его.
    word-image-14.jpeg
  7. С помощью встроенного поиска найдите параметр с именем root (находится в секции Security and Services -> Security Settings -> Security -> User Configuration -> Root). Выберите опцию “Fixed Password Configuration” и укажите новый пароль root.
    word-image-15.jpeg
  8. Все остальные настройки в профиле нужно отключить. Нажмите Finish.
    word-image-16.jpeg
  9. Теперь нужно привязать этот профиль к вашему ESXi хосту, на котором нужно сбросить пароль. В меню Actions выберите Attach/Detach Hosts.
    word-image-17.jpeg
  10. Выберите ваш ESXi хост (на котором нужно сбросить пароль) и нажмите кнопку Attach.
    word-image-18.jpeg
  11. Перейдите на вкладку Host profile -> Monitor -> Compliance и нажмите кнопку Remediate.
    word-image-19.jpeg
  12. После выполнения проверки новые настройки применятся к хосту и у него появится статус Complaint (т.е. конфигурация хоста соответствует назначенному профилю). В предыдущих версиях ESXi чтобы применить профиль к хосту, его необходимо переводить в режим обслуживания (Maintenance Mode), также потребуется перезагрузка хоста.
    word-image-20.jpeg

Сброс пароля root с помощью Active Directory и vCenter​

Также вы можете сбросить пароль root на хосте ESXi, если с помощью vCenter добавить ваш хост в домен Active Directory. После того, как вы включите ESXi в домен, вы сможете авторизоваться на нем с помощью доменной учетной записи и сбросить пароль локального пользователя root.

Запустите оснастку Active Directory Users and Computers и создайте новую доменную группу с именем ESX Admins (именно такое имя группы). Добавьте в группу учетку пользователя, пароль которого вам известен.

word-image-1.png


Теперь нужно добавить хост в домен. В консоли vCenter выберите хост, перейдите в раздел Configure -> Authentication Services -> Join Domain. Укажите имя домена и учетную запись с правами добавлять компьютеры в домен.

word-image-2.png


Теперь откройте веб интерфейс вашего хоста ESXi и авторизуйтесь на нем под учетной записью, которую вы добавили в группу ESX admins (имя учетной записи нужно задать в формате User@Domain или Domain\User).

word-image-3.png


После авторизации перейдите в раздел Host -> Manage -> Security & users -> Users и сбросьте пароль локального пользователя root.

После этого можете исключить ESXi из домена (Leave Domain).

word-image-4.png


Чтобы применить изменения, перезагрузите хост.

Сброс пароля root на отдельном хосте ESXi​

В этом разделе мы покажем, как сбросить пароль root на отдельно стоящем ESXi сервере, который не добавлен в vCenter. Этот способ сброса пароля потребует перезагрузки хоста и выключения всех запущенных на нем виртуальных машин. Для сброса на понадобиться загрузочный диск, например, iso образ Ubuntu GNOME. Данный образ нужно записать на USB флешку, которую можно сделать загрузочной с помощью утилиты Rufus.

word-image-5.png


Затем нужно загрузить ESXi с этой флешки, подключить локальное хранилище с хоста ESXi, распаковать архив и изменить файл с паролями. Потом нужно заменить файл, перезагрузить хост и попробовать авторизоваться на ESXi под учетной root с пустым паролем.

Сброс пароля ESXi в файле shadow​

Из соображений безопасности хост ESXi хранит пароль в зашифрованном виде в shadow. Нам нужно изменить пароль root в этом файле. Среди всех разделов на хосте ESXi нам нужен только /dev/sda5 (/bootbank). Именно в этом разделе диска хранится образ и конфигурация ОС.

После того, как вы загрузились с загрузочной флешки, выполните команду:
# sudo su

Выведем список дисков:
# fdisk –l | grep /dev/sda*

word-image-6.png

Нам нужен раздел /dev/sda5 размером 250 Мб. Создайте точку монтирования:
# mkdir /mnt/sda5

Создайте временны каталог:
# mkdir /temp

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

Нам нужен архивный файл с именем state.tgz (внутри него находится нужный нам файл local.tgz):
# ls -l /mnt/sda5/state.tgz

Распакуйте файлы state.tgz и local.tgz:
# tar -xf /mnt/sda5/state.tgz –C /temp/
# tar -xf /temp/local.tgz –C /temp/

Файлы архивов теперь можно удалить:
# rm /temp/.tgz

Во временном каталоге должен появиться файл shadow. Откройте файл с помощью любого текстового редактора:
# vi /temp/etc/shadow

Вот как выглядит содержимое файлы shadow. Как вы видите, в нем содержаться все локальные учетные записи и их пароли (зашифрованные):
Чтобы сбросить пароль root на пустой, достаточно удалить все между двумя первыми двоеточиями и сохраните файл.

word-image-8.png


Перейдите в каталог: # cd /temp

Теперь нужно упаковать файл shadow в обратном порядке:
# tar -czf local.tgz etc
# tar -czf state.tgz local.tgz

Теперь переместите новый архив в оригинальный каталог с образом ESXi:
# mv state.tgz /mnt/sda5/

Отмонтируйте раздел:
# umount /mnt/sda5

Теперь можно перезагрузить хост:
# reboot

При загрузке ESXi распакует архив local.tgz и скопирует файлы конфигурации (в том числе shadow) в каталог /etc/. Попробуйте авторизоваться на сервере через DCUI без пароля. Система укажет, что пароль root не задан и в целях безопасности его нужно изменить.
word-image-9.png


Выберите пункт меню Configure Password и укажите новый пароль.
word-image-10.png


Замена пароля в файле shadow​

Как один из вариантов рассмотренного выше способа сброса пароля на хосте ESXi, вы можете не сбрасывать, а заменить файл shadow файлом с другого хоста ESXi (с известным паролем). Вы можете с помощью WinSCP скопировать файл shadow с другого хоста ESXi на свою загрузочную USB флешку.

word-image-11.png


Загрузите ваш ESXi хост со своего загрузочного USB диска (в моем примере это Ubuntu GNOME). И выполните следующие команды:
# sudo su

Выведем список дисков:
# fdisk –l | grep sd

Создадим две временные папки.
# mkdir /mnt/sda5
# mkdir /mnt/sdb1

Смонтируйте раздел с образом ESXi и ваш USB диск, на котором находится скопированный с другого хоста файл shadow:
# mount /dev/sda5 /mnt/sda5
# mount /dev/sdb1 /mnt/sdb1

Создайте временные каталоги:
# mkdir /temp
# mkdir /mnt/sdb1/save

Найдите нужный файл в архиве:
# ls -l /mnt/sda5/state.tgz

Скопируйте архив:
# cp /mnt/sda5/state.tgz /mnt/sdb1/save

Распакуйте архивы:
# tar -xf /mnt/sda5/state.tgz –C /temp/
# tar -xf /temp/local.tgz –C /temp/

Убедитесь, что вы распаковали каталог /etc.
# ls –l /temp

Удалите архив local.tgz.
# rm /temp/local.tgz

Замените оригинальный файл shadow на тот, который вы скопировали с другого хоста:
# cp /mnt/sdb1/shadow /temp/etc

word-image-12.png


Можете посмотреть содержимое файла shadow.
# vi /temp/etc/shadow

Удалите лишние учетные записи, которые вам не нужны (кроме стандартных учеток). В моем примере я удалю пользователя Test. Сохраните файл shadow.

word-image-13.png


# cd /temp

Упакуем содержимое каталога /etc.
# tar -czf local.tgz etc
# tar -czf state.tgz local.tgz

Скопируйте архив state.tgz на раздел с образом ESXi:
# mv state.tgz /mnt/sda5/

Отмонтируйте раздел sda5:
# umount /mnt/sda5

Перезагрузите хост:
# reboot

Вот и все, теперь мы можете авторизоваться на хосте ESXi под известным паролем.

Думаю кому-то будет интересно. Источник
 
Постоянно теряю этот пароль! Большущее спасибо за отличную информацию)
 
Ребята, что за лажа. Через вцентер добавляю к ескси юзера . прописываю домен учётка юзера админа добавленного в группу екс админ.
а при добавлении пишет следующее The host does not have a suitable FQDN кто то сталкивался ?
 


Напишите ответ...
  • Вставить:
Прикрепить файлы
Верх