Как восстановить или перезагрузить пароль администратора VMware ESXi Server?



Сброс и восстановление пароля Vmware ESXI 6.5 и выше, за минуту

Сброс и восстановление пароля Vmware ESXI 6.5 и выше, за минуту

Добрый день! Уважаемые читатели и гости, крупного IT ресурса Pyatilistnik.org. В прошлой статье я вам подробно описал установку и настройку VMware ESXI 6.5, где один из моих подписчиков попросил меня осветить вопрос, помогающий восстановить забытый пароль root от хоста
. В сегодняшней заметке я подробно опишу механизм позволяющий сбросить пароль ESXI 6.5
, для старых версий или более новых, все будет так же актуально. Уверен, что если вы хоть и помните все пароли, знать такую функциональность полезно, никогда не знаешь, где это может пригодиться.

Описание задачи

В каких случаях у вас может не быть пароля от root на вашем гипервизоре VMware ESXI:

  • Вы пришли в новую компанию, где вам прежний ответственный сотрудник не передал паролей. Это может быть по ряду причин, очень частые случаи, когда людей увольняют и им, это конечно же не нравится, в следствии чего они уходят, прихватив с собой все пароли и не сообщив их руководству, вы как новичок будите козлом отпущения, так как теперь за это ответственны вы.
  • Банально, но вы его утеряли или забыли пароль, очень частая история, когда установили ESXI-хост, настроили его и ввели в эксплуатацию. Крутятся там виртуальные машины и не мешают вам, а пароль в веб-интерфейс вообще может быть запомненным в браузер или сервер вообще управляется, через vCenter 6.5.

Вот так вот выглядит проблема с авторизацией на ESXI хост, когда не получается указать верные данные.

Вот так, это выглядит в консоли:

Authentication failed. Invalid login or password

Это пример авторизации на VMware ESXI 5.5, через толстого клиента:

Cannot complete login due to an incorrect user name or password

Ну и приведу пример, когда вы пытаетесь авторизоваться в веб-интерфейсе VMware ESXI 6.5

Cannot complete login due to an incorrect user name or password

Методы сброса и восстановления пароля VMware ESXI

  1. Если бы говорим с вами про версию 6 и выше, то она управляется через удобный веб-интерфейс. Современные браузеры имеют такую функцию, как запоминание пароля вводимого на той или иной странице, люди машинально нажимают да, и потом он всегда вводится автоматически, с пользователя эта задачу уходит, вроде удобно, но заставляет быстро и напрочь забыть пароль. Если вы его сохранили в браузере, то первым делом я вам советую попробовать восстановить пароль ESXI из менеджера паролей браузера (Как посмотреть сохраненные пароли в браузерах). Данный метод сброса рутового пароля самый простой и займет пару минут.Вот пример восстановленных паролей Vmware сервера, как это делать читайте по ссылке выше.
  2. Второй метод изменения неизвестного пароля
    от ESXI-хоста, это использование любого LIVE-CD и редактирование конфигурационного файла shadow, метод самый распространенный, он чем-то похож на метод сброса пароля Windows или сброс пароля root на CentOS 7.
  3. Третий метод, самый редкий и требует сервер управления vCenter, где есть возможность использовать функцию Host Profile
    . Благодаря ему вы может на одном или более серверов VMware ESXI 5.5 и выше, установить нужный вам пароль от root пользователя. Накатив таким образом профильную настройку.

Сбрасываем пароль root в VMware ESXI 6.5, через Live-CD

Про первый метод, смысла не вижу повторять материал, все можете прочитать по ссылке выше, давайте разбирать с вами второй метод, с загрузычныс CD и флешки на его основе.

Первым делом вы должны скачать
себе любой из любимых вашему сердцу LIVE-CD, я использую обычно Slax так как он маленький, Ubuntu, Kali Linux или Fedora-Workstation-Live-x86_64, но список огромен.

Вот вам полезный ресурс, который объединил в себе список всех Live-CD различных разработчиков https://livecdlist.com/

Далее вам необходимо загрузить ваш ESXI-хост с данного Live диска, если у вас есть на ваших серверах порты управления (IDRAC, IMM, IPMI, ILO), то там есть возможность в виртуальной консоли смонтировать ISO-образ, если же на сервере портов управления с активными лицензиями на монтирование нет, то ваш путь это загрузочная флешка Rufus.

Изменение пароля root через LIVE-CD CentOS

Когда загрузочный носитель подключен к серверу, то перезагружаем ваш ESXI хост. Я приведу пример с LIVE-CD CentOS.

Если не знаете, как выставить в биос загрузку с загрузочной флешки, то посмотрите мою статью по ссылке слева.

Мой загрузочный LIVE-CD CentOS выдает вот такое приветственное меню, у других дисков будет свое. Выбираете режим «Troubleshooting».

Далее переходим в пункт «Start Centos 7 in basic graphics mode», для загрузки Centos7 и данного диска.

В момент загрузки у вас появится мастер быстрой настройки, на первом шаге которого нужно выбрать язык внутри операционной системы, я оставлю английский. Жмем «Next»

Далее выбираем язык раскладки на клавиатуре, я оставляю английскую

Далее вы можете предоставить или запретить определение вашего географического положения

При желании вы можете подключиться к вашим онлайн ресурсам, через популярные сервисы, типа Google или Microsoft.

Все готово, нажимаем «Start using CentOS Linux».

У вас появится вот такой рабочий стол.

В самом верху нажимаем кнопку «Application» и в открывшемся окне выбираем иконку терминала «Terminal».

У вас откроется окно командной строки, по умолчанию вы будите там с правами обычного пользователя, чтобы повысить себе права до уровня администратора, введите команду:

sudo su

Теперь вам необходимо получить список разделов, которые видит ваша система, для этого есть команду:

fdisk -l

На выходе вы получите список ваших разделов в виде списка устройств с именем /dev/sda и списка по номерам, где вы будите видеть их размер и тип файловой систему, FAT16 может называться Microsoft basis.

Если у вас GPT разметка, то вы можете воспользоваться утилитой parted.

Пишем parted и нажимаем Enter, в итоге вы войдете в интерфейс утилиты, далее для вывода списка введите /dev/ print

Как видите тут вывод уже более информативный и партиции отображаются с правильной разметкой.

Теперь как понять какой раздел из /dev/sda нам нужен. Для этого я вам напомню из каких разделов состоит диск на котором установлен VMware ESXI 6.5 или другой. Вот так вот схематически выглядит схема разделов на том диске, где у вас установлен VMware ESXI.

  • Раздел system boot, 
    это главный загрузочный раздел
  • Раздел bootbank

    тут располагается сам образ дистрибутива Vmware ESXI, который при загрузке попадает в оперативную память сервера
  • Раздел altbootbank, 
    это запасной раздел, дублирующий bootbank, на случай выхода его из строя, некая отказоустойчивость, например, при обновлении, данный раздел помогает восстановить и сделать откат ESXI-хоста.
  • vmkDiagnostic,
    тут у вас будут располагаться дампы системы, на случай пурпурных экранов смерти (purple screen)
  • Раздел store
    ,
    необходим для хранения пакетов VMware Tools
  • scratch, 
    логи VMware ESXIесли у вас раздел более 5 гигабайт, то он создастся и на нем будут располагаться -хоста

Логично предположить, что нас с вами будет интересовать область bootbank, она приблизительно будет весить 260-261 мегабайт. Обычно, это первый из двух разделов, в моем случае, это /dev/sda5
. Я буду монтировать именно его. Для того, чтобы смонтировать неактивный диск (раздел) в Linux, существует команда mount.

Пишем в терминале команду mount /dev/sda5 /mnt

Далее перейдите в данный раздел с помощью команды cd /mnt

И посмотрите его содержимое с помощью команды ls, нам нужно удостовериться, что есть файл state.tgz

Теперь нам нужно скопировать данный файл в какой-нибудь каталог, там распаковать его, внести изменения и вернуть на место. Делаем вот, что:

Переходим в каталог tmp, через команду cd /tmp

Командой tar xzf /mnt/state.tgz производим извлечение архива в каталог /tmp

Если посмотреть содержимое каталога /tmp, то вы обнаружите файл local.tgz

Теперь нам необходимо распаковать файл local.tgz, для этого выполняем команду:

tar -xzf local.tgz

после чего выполним показ содержимого директории, через команду ls. Видим, что появился каталог etc, переходим в него командой cd /tmp/etc/ и делаем там листинг ls. Находим там файл shadow, это то что нам нужно.

Для редактирования конфигурационного файла shadow, в котором хранится хэш-пароля от root пользователя, мы воспользуемся текстовым редактором vi. Введите vi shadow
.

В открывшемся редакторе наш пароль от ESXI хоста находится в первой строке, между первым и вторым двоеточием, я его выделил на картинке. Для того, чтобы произвести сброс пароля ESXI хоста, нужно этот хэш удалить. Для редактирования файла shadow нажмите кнопку Insert на клавиатуре.

Когда вы удалили хэш-пароля, то нажимаем ESC и для сохранения файла вводим :wq

Теперь когда мы обновили файл shadow и убрали в нем пароль root, нам необходимо перепаковать state.tgz и подложить его за место нового.

Переходим на один каталог вверх cd ..

Переименуем и переместим (state.tg) mv /mnt/state.tgz /mnt/state.tgz.bakup

Удалим (local.tgz) rm local.tgz

собираем файл (local.tgz) tar czf local.tgz etc

собираем файл (state.tgz) tar czf state.tgz local.tgz

Перемещаем файл (state.tgz) mv state.tgz /mnt/

Отмантируем раздел и перезагрузим хост umount /tmp

Перезагрузка reboot

После перезагрузки VMware ESXI 6.5 хоста, вы спокойно залогинитесь с пустым паролем root, обязательно задайте новый пароль, либо в меню «System Customization»

Либо в веб-интерфейсе

В Vmware ESXI 5.5 вы можете увидеть предупреждение

The default password for the root user has not been changed

Изменение пароля root через графический интерфейс

Если вы не любите терминальные команды, то большинство LIVE-CD имеют графический интерфейс, в LIVE-CD CentOS для сброса пароля root, делаем следующее. На рабочем столе находим кнопку «Home»

Переходим в пункт «Other Location» и среди списка разделов найдите ваш VMware ESXi 6.5, у меня это /dev/sda5, щелкаем по нему и он у вас будет смонтирован.

На рабочем столе у вас появится значок смонтированного раздела.

Для поиска файла state.tgz, можно воспользоваться формой поиска.

Напомню, что именно с помощью файла state.tgz, вы сможете изменить пароль от ESXI хоста.

Копируем файл state.tgz, например в папку Downloads.

Произведем извлечение содержимого архива state.tgz в папку Downloads, делается это через контекстное меню и пункт «Extract Here».

У нас появится файл local.tgz, распакуем и его.

Открываем файлик shadow, для обнуления пароля у root пользователя на ESXI хосте.

Удаляем хэш-пароля он находится в первой строке между первым и вторым двоеточием (:)

Удаляем его и приводим вот к такому виду.

Сохраняем изменения в файле shadow.

Переходим на один уровень выше, в папку Downloads. Удалите из папки файл local.tgz и щелкаем правым кликом по папке etc и запаковываем ее, через пункт «Compress».

Задаем имя архиву local.tgz

Далее открываем оригинальный архив state.tgz и удаляем из него архив local.tgz

Через кнопку +, добавляем в пустой архив state.tgz, наш новый архив local.tgz.

Выбираем новый local.tgz и нажимаем Add.

В итоге получилось вот так.

Заменяем старый state.tgz в примантированном разделе /dev/sda5 с заменой, после чего перезагружаем ваш сервер и проверяем, что у вас стал пустым пароль от VMware ESXI 6.5 хоста.

Изменение пароля root через vCenter Server

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

Щелкните правой кнопкой мыши любой хост, выберите Host Profile-Create Profile from Host.

Указываем имя Host Profile.

Завершаем создание Host Profile

Переходим на вкладку «Home» и открываем значок Host Profiles.

Щелкаем правым кликом и выбираем Edit Profile.

Выберите пункт Security Configuration и перейдите в Administrator password, задайте нужный вам пароль для root.

Нажимаем ок и сохраняем. Далее через правый клик выберите пункт «Enable/Disable Profile Configuration»

Отметьте пункт «Security Configuration».

Применяем наш Host Profile, для этого переведите ваш хост в режим обслуживания (Maintenance Mode)

Далее выбираем «Manage Profile».

Выбираем «Password_Reset Host Profile».

Чтобы применить нажмите «Apply Profile».

У вас хост перезагрузиться и к нему будет применен новый пароль от root. Данный метод, хорош тем, что может производить сброс пароля ESXI на большом количестве хостов. На этом все, с вами был Иван Семин, автор и создатель IT блога Pyatilistnik.org.

Ноя 2, 2018 01:44

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

VMWare

Если вы забыли или потеряли пароль 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
  • Сброс пароля root с помощью Active Directory и vCenter
  • Сброс пароля root на отдельном хосте ESXi
  • Сброс пароля ESXi в файле shadow
  • Замена пароля в файле shadow

Сброс пароля 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.
    4. Выберите хост ESXi и нажмите Next.
    5. Укажите имя профиля (желательно указать и его описание).
    6. После того, как новый профиль создан, отредактируйте его.
    7. С помощью встроенного поиска найдите параметр с именем root (находится в секции Security and Services -> Security Settings -> Security -> User Configuration -> Root). Выберите опцию “Fixed Password Configuration”
      и укажите новый пароль root.
    8. Все остальные настройки в профиле нужно отключить. Нажмите Finish.
    9. Теперь нужно привязать этот профиль к вашему ESXi хосту, на котором нужно сбросить пароль. В меню Actions выберите Attach/Detach Hosts.
    10. Выберите ваш ESXi хост (на котором нужно сбросить пароль) и нажмите кнопку Attach
      .
    11. Перейдите на вкладку Host profile -> Monitor -> Compliance
      и нажмите кнопку Remediate
      .
    12. После выполнения проверки новые настройки применятся к хосту и у него появится статус Complaint (т.е. конфигурация хоста соответствует назначенному профилю). В предыдущих версиях ESXi чтобы применить профиль к хосту, его необходимо переводить в режим обслуживания (Maintenance Mode), также потребуется перезагрузка хоста.
    13. На этом все, пароль 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 или DomainUser).

После авторизации перейдите в раздел 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 под известным паролем.

Ссылка на основную публикацию