Допустим, вы забыли пароль root от одного из своих хостов ESXi. При этом возможны 2 сценария:
• ваш хост добавлен в vCenter и вы все еще можете управлять им
• вы забыли пароль от отдельно-стоящего хоста ESXi (или от бесплатной редакции VMware Hypervisor).
Сброс пароля ESXi с помощью VMware Host Profile:
Большинство хостов ESXi в крупных компаниях управляются через vCenter
Server. Даже если вы забыли пароль root, vCenter без проблем может
управлять настройками хоста, т.к. вы уже привязали хост к vCenter и пароль
root вам просто не нужен. Если же вы выведете хост из vCenter (лучше этого
не делать) и попробуете добавить его снова, вам понадобится указать root
пароль. Поэтому, пока ваш хост управляется vCenter, вы можете сбросить
пароль root с помощью профиля хоста VMware (Host Profile).
Host profile – это набор заданных вами параметров ESXi, которые можно
применить к любому хосту для его быстрой настройки. Обычно профиль
хоста создается после настройки типового хоста ESXi и экспорта его
конфигурации в Host profile. Данный профиль администратор может
применить к любому другому хосту.
• Запустите vSphere Web Client и авторизуйтесь в vCenter.
• На домашней странице выберите Host Profile
• Нажмите на кнопку Extract Profile from a host, чтобы извлечь профиль
хоста ESXi с известным вам паролем root.
• Выберите хост ESXi и нажмите Next.
• Укажите имя профиля (желательно указать и его описание).
• После того, как новый профиль создан, отредактируйте его.
• С помощью встроенного поиска найдите параметр с именем root
(находится в секции Security and Services -> Security Settings -> Security -> User
Configuration -> Root). Выберите опцию “Fixed Password Configuration” и
укажите новый пароль root.
• Все остальные настройки в профиле нужно отключить. Нажмите Finish.
• Теперь нужно привязать этот профиль к вашему ESXi хосту, на котором
нужно сбросить пароль. В меню Actions выберите Attach/Detach Hosts.
• Выберите ваш ESXi хост (на котором нужно сбросить пароль) и нажмите
кнопку Attach.
• Перейдите на вкладку Host profile -> Monitor -> Compliance и нажмите
кнопку Remediate.
• После выполнения проверки новые настройки применятся к хосту и у
него появится статус Complaint (т.е. конфигурация хоста соответствует
назначенному профилю). В предыдущих версиях ESXi чтобы применить
профиль к хосту, его необходимо переводить в режим обслуживания
(Maintenance Mode), также потребуется перезагрузка хоста.
• На этом все, пароль root на хосте был изменен. Не забудьте отвязать
профиль от хоста.
Сброс пароля root с помощью Active Directory и vCenter
Также вы можете сбросить пароль root на хосте ESXi, если с помощью vCenter
добавить ваш хост в домен Active Directory. После того, как вы включите ESXi
в домен, вы сможете авторизоваться на нем с помощью доменной учетной
записи и сбросить пароль локального пользователя root.
Запустите оснастку Active Directory Users and Computers и создайте новую
доменную группу с именем ESX Admins (именно такое имя группы). Добавьте
в группу учетку пользователя, пароль которого вам известен.
Теперь нужно добавить хост в домен. В консоли vCenter выберите хост,
перейдите в раздел Configure -> Authentication Services -> Join Domain.
Укажите имя домена и учетную запись с правами добавлять компьютеры в
домен.
Теперь откройте веб интерфейс вашего хоста ESXi и авторизуйтесь на нем под
учетной записью, которую вы добавили в группу ESX admins (имя учетной
записи нужно задать в формате User@Domain или Domain\User).
После авторизации перейдите в раздел Host -> Manage -> Security & users ->
Users и сбросьте пароль локального пользователя root.
После этого можете исключить ESXi из домена (Leave Domain).
Чтобы применить изменения, перезагрузите хост.
Сброс пароля root на отдельном хосте ESXi
В этом разделе мы покажем, как сбросить пароль root на отдельно стоящем
ESXi сервере, который не добавлен в vCenter. Этот способ сброса пароля
потребует перезагрузки хоста и выключения всех запущенных на нем
виртуальных машин. Для сброса на понадобиться загрузочный диск,
например, iso образ Ubuntu GNOME. Данный образ нужно записать на USB
флешку, которую можно сделать загрузочной с помощью утилиты Rufus.
Затем нужно загрузить ESXi с этой флешки, подключить локальное
хранилище с хоста ESXi, распаковать архив и изменить файл с паролями.
Потом нужно заменить файл, перезагрузить хост и попробовать
авторизоваться на ESXi под учетной root с пустым паролем.
Сброс пароля ESXi в файле shadow
Из соображений безопасности хост ESXi хранит пароль в зашифрованном
виде в shadow. Нам нужно изменить пароль root в этом файле. Среди всех
разделов на хосте ESXi нам нужен только /dev/sda5 (/bootbank). Именно в
этом разделе диска хранится образ и конфигурация ОС.
После того, как вы загрузились с загрузочной флешки, выполните команду:
# sudo su
Выведем список дисков:
# fdisk -l | grep /dev/sda*
Нам нужен раздел /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 на пустой, достаточно удалить все между двумя
первыми двоеточиями и сохраните файл.
Перейдите в каталог:
# 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 не задан и в целях
безопасности его нужно изменить.
Выберите пункт меню Configure Password и укажите новый пароль.
Замена пароля в файле shadow
Как один из вариантов рассмотренного выше способа сброса пароля на хосте
ESXi, вы можете не сбрасывать, а заменить файл shadow файлом с другого
хоста ESXi (с известным паролем). Вы можете с помощью WinSCP
скопировать файл shadow с другого хоста ESXi на свою загрузочную USB
флешку.
Загрузите ваш 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
Можете посмотреть содержимое файла shadow.
# vi /temp/etc/shadow
Удалите лишние учетные записи, которые вам не нужны (кроме стандартных
учеток). В моем примере я удалю пользователя Test. Сохраните файл shadow.
# 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 под известным
паролем.
Свежие комментарии