Chrome Chrome  Microsoft edge
Развернуть

Vmware esxi пароль по умолчанию. Изменение пароля root через LIVE-CD CentOS

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

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

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

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

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

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

Cannot complete login due to an incorrect user name or password

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


Сбрасываем пароль 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".

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

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

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

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

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

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

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

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

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

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

Model: VMware, VMware Virtual S (scsi)
Disk /dev/sda: 75.2GB
Sector size (logical/physical): 512B/512B
Partition Table: gpt
Disk Flags:

Number Start End Size File system Name Flags
1 32.8kB 3146kB 3113kB fat16 boot
5 4211kB 265MB 261MB fat16
6 266MB 527MB 261MB fat16
7 528MB 643MB 114MB
8 644MB 943MB 299MB fat16
9 944MB 75.2GB 74.2GB

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

Теперь как понять какой раздел из /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

И посмотрите его содержимое с помощью команды 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

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

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

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

Изменение пароля 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.

Выбираем новый 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.

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

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

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

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

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

Коллеги, рад сообщить вам, что 26 июня этого года планируется встреча сообщества VMware, в Москве.

Кроме того, стараемся чтобы эта встреча была удобна просто для общения - чтобы была возможность обсудить что и как делается у коллег, это бывает очень полезно.А из пары-тройки сотен приходящих (в том числе приезжающих из других городов) обычно удается найти подходящего собеседника.

Встреча бесплатна для участников, требуется регистрация (форма регистрации ниже).

Важно! - мы учли опыт и отзывы прошлого года, и теперь мы кардинально сократили число спонсоров и спонсорских докладов, на которые было больше всего нареканий.

Программа, как водится, еще в процессе устаканивания, но предварительно уже есть понимание кто и про что хочет рассказать:

Обязательно будет Антон Жбанков. Прошлогодний доклад "Планировщик процессора VMware ESXi 5.1" однозначно признан "самым зубодробительным и поэтому интересным" докладом прошлой встречи (реально, я по работе встречаюсь с человеком, общаемся общаемся, съезжаем на неформальные темы и тут он мне "А вот знаете такого Антона, он еще ацкий доклад делал в том году...").
В этот раз накал зубодробительности должен повыситься, без ущерба для полезности.

Добавлю больше деталей ближе к закреплению договоренностей, кратко:
-) детали и опыт с Virtual SAN;
-) дискуссия и обсуждение во главе с человеком, внедряющим "облака" своими руками.
-) остальное уточняется

Как обычно и происходит с паролями, вы можете потерять, забыть пароль, уволить единственного сотрудника который его знал и многое другое. Что же делать если это был root пароль на VMware ESX Server? Каким образом можно его сбросить? Читайте статью дальше и вы узнаете что можно сделать.

1. Перезагрузите VMware ESX Server

Если вы не знаете пароль root на ваш VMware ESX Server, и у вас нет паролей на эквивалентные руту учетные записи, тогда первое что вам необходимо сделать - перезагрузить VMware ESX Server.

2. Нажмите"a" для модификации загрузки ядра

Как только появиться меню GRUB, нажмите "a" для модификации загрузки:

3. Входим в single user mode

В конце строки с аргументами ядра введите "single" и нажмите Enter:

4. Меняем пароль

Теперь мы можем изменить пароль root с помощью команды passwd:

Вам необходимо дважды ввести новый пароль.

5. Перезагрузите ESX Server

После изменения пароля перезагрузите сервер для возвращения в multi-user mode.

Если вы забыли или потеряли пароль root от хоста ESXi, вы можете потерять контроль над ним и не сможете зайти на его консоль через при наличии проблем с операционной системой или необходимости выполнить диагностику хоста. В этой статье я покажу 4 разных способа сбросить забытый пароль root на хосте VMware ESXi версии 6.7. Способ сброса пароля применим и к версиям ESXi 6.x и 5.x ().

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

Допустим, вы забыли пароль root от одного из своих хостов ESXi. При этом возможны 2 сценария:

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

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

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

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 и авторизуйтесь на нем под учетной записью, которую вы добавили в (имя учетной записи нужно задать в формате [email protected] или Domain\User).

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

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

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

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

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

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

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

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

Выведем список дисков:

# fdisk –l | grep /dev/sda*

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

# mkdir /mnt/sda5

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

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

# mount /dev/sda5 /mnt/sda5

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

# ls -l /mnt/sda5/state.tgz

Распакуйте файлы state.tgz и local.tgz:

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

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

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

Чтобы сбросить пароль root на пустой, достаточно удалить все между двумя первыми двоеточиями и сохраните файл.

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

Теперь нужно упаковать файл shadow в обратном порядке:

# tar -czf local.tgz etc

Теперь переместите новый архив в оригинальный каталог с образом ESXi:

# mv state.tgz /mnt/sda5/

Отмонтируйте раздел:

# umount /mnt/sda5

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

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

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

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

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

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

Выведем список дисков:

# 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.

Удалите архив local.tgz.

# rm /temp/local.tgz

Замените оригинальный файл shadow на тот, который вы скопировали с другого хоста:

# cp /mnt/sdb1/shadow /temp/etc

Можете посмотреть содержимое файла shadow.

# vi /temp/etc/shadow

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

Упакуем содержимое каталога /etc.

# tar -czf local.tgz etc

# tar -czf state.tgz local.tgz

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

# mv state.tgz /mnt/sda5/

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

# umount /mnt/sda5

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

30/05/2011

fdisk -l (смотрим подходящие FAT16 разделы, где у нас размещен загрузчик)

ls -l /mnt/sda5/ (основной, при загрузке монтируется как /bootbank)

ls -l /mnt/sda6/ (резервный, при загрузке монтируется как /altbootbank)

В случае чистой установки ESXi, картина будет такова:

Нас интересует файл state.tgz - там все, что нам нужно. Если у вас ESXi Embedded то нужен файл local.tgz (который в первом случае находится внутри state.tgz ).

Распаковываем сначала state.tgz , а потом local.tgz командами gzip и tar во временную директорию. Далее заходим в ней в папку /etc и открываем в ней файл shadow командой:

vi shadow

У вас откроется что-то вроде того:

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

То есть убираем все то, что между двумя двоеточиями. Выходим из файла, сохранившись.

Теперь все это упаковываем назад, для чего во временной папке (туда надо подняться из /etc) выполняем такую команду (апдейтим архив изменившейся папкой):

tar -czvf local.tgz etc

Если вы используете ESXi Embedded - кладете файл local.tgz на место, откуда брали. Если обычный ESXi - снова апдейтим архив:

tar -czvf state.tgz local.tgz

И также копируем туда, где он лежит:

Перезагружаем сервер и уже загружаемся в VMware ESXi. Видим такую картинку:

Это значит - все получилось. Теперь можем заходить в консоль под пользователем root с пустым паролем. Вот такой незамысловатый способ сброса пароля на хосте VMware ESXi.

Please enable JavaScript to view the