Сброс и восстановление пароля Vmware ESXI 6.5 и выше, за минуту
- Описание задачи
- Вот так вот выглядит проблема с авторизацией на ESXI хост, когда не получается указать верные данные.
- Методы сброса и восстановления пароля VMware ESXI
- Сбрасываем пароль root в VMware ESXI 6.5, через Live-CD
- Изменение пароля root через LIVE-CD CentOS
- Изменение пароля root через графический интерфейс
- Изменение пароля root через vCenter Server
Добрый день! Уважаемые читатели и гости, крупного IT ресурса Pyatilistnik.org. В прошлой статье я вам подробно описал установку и настройку VMware ESXI 6.5, где один из моих подписчиков попросил меня осветить вопрос, помогающий восстановить забытый пароль root от хоста. В сегодняшней заметке я подробно опишу механизм позволяющий сбросить пароль ESXI 6.5, для старых версий или более новых, все будет так же актуально. Уверен, что если вы хоть и помните все пароли, знать такую функциональность полезно, никогда не знаешь, где это может пригодиться.
Описание задачи
В каких случаях у вас может не быть пароля от root на вашем гипервизоре VMware ESXI:
- Вы пришли в новую компанию, где вам прежний ответственный сотрудник не передал паролей. Это может быть по ряду причин, очень частые случаи, когда людей увольняют и им, это конечно же не нравится, в следствии чего они уходят, прихватив с собой все пароли и не сообщив их руководству, вы как новичок будите козлом отпущения, так как теперь за это ответственны вы.
- Банально, но вы его утеряли или забыли пароль, очень частая история, когда установили ESXI-хост, настроили его и ввели в эксплуатацию. Крутятся там виртуальные машины и не мешают вам, а пароль в веб-интерфейс вообще может быть запомненным в браузер или сервер вообще управляется, через vCenter 6.5.
Вот так вот выглядит проблема с авторизацией на ESXI хост, когда не получается указать верные данные.
Вот так, это выглядит в консоли:
Это пример авторизации на VMware ESXI 5.5, через толстого клиента:
Ну и приведу пример, когда вы пытаетесь авторизоваться в веб-интерфейсе VMware ESXI 6.5
Методы сброса и восстановления пароля VMware ESXI
- Если бы говорим с вами про версию 6 и выше, то она управляется через удобный веб-интерфейс. Современные браузеры имеют такую функцию, как запоминание пароля вводимого на той или иной странице, люди машинально нажимают да, и потом он всегда вводится автоматически, с пользователя эта задачу уходит, вроде удобно, но заставляет быстро и напрочь забыть пароль. Если вы его сохранили в браузере, то первым делом я вам советую попробовать восстановить пароль ESXI из менеджера паролей браузера (Как посмотреть сохраненные пароли в браузерах). Данный метод сброса рутового пароля самый простой и займет пару минут.Вот пример восстановленных паролей Vmware сервера, как это делать читайте по ссылке выше.
- Второй метод изменения неизвестного пароля от ESXI-хоста, это использование любого LIVE-CD и редактирование конфигурационного файла shadow, метод самый распространенный, он чем-то похож на метод сброса пароля Windows или сброс пароля root на CentOS 7.
- Третий метод, самый редкий и требует сервер управления 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, но список огромен.
Далее вам необходимо загрузить ваш 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".
У вас откроется окно командной строки, по умолчанию вы будите там с правами обычного пользователя, чтобы повысить себе права до уровня администратора, введите команду:
Теперь вам необходимо получить список разделов, которые видит ваша система, для этого есть команду:
На выходе вы получите список ваших разделов в виде списка устройств с именем /dev/sda и списка по номерам, где вы будите видеть их размер и тип файловой систему, FAT16 может называться Microsoft basis.
Если у вас GPT разметка, то вы можете воспользоваться утилитой parted.
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.
Далее перейдите в данный раздел с помощью команды cd /mnt
И посмотрите его содержимое с помощью команды ls, нам нужно удостовериться, что есть файл state.tgz
Теперь нам нужно скопировать данный файл в какой-нибудь каталог, там распаковать его, внести изменения и вернуть на место. Делаем вот, что:
Командой tar xzf /mnt/state.tgz производим извлечение архива в каталог /tmp
Если посмотреть содержимое каталога /tmp, то вы обнаружите файл local.tgz
Теперь нам необходимо распаковать файл local.tgz, для этого выполняем команду:
после чего выполним показ содержимого директории, через команду ls. Видим, что появился каталог etc, переходим в него командой cd /tmp/etc/ и делаем там листинг ls. Находим там файл shadow, это то что нам нужно.
Для редактирования конфигурационного файла shadow, в котором хранится хэш-пароля от root пользователя, мы воспользуемся текстовым редактором vi. Введите vi shadow.
В открывшемся редакторе наш пароль от ESXI хоста находится в первой строке, между первым и вторым двоеточием, я его выделил на картинке. Для того, чтобы произвести сброс пароля ESXI хоста, нужно этот хэш удалить. Для редактирования файла shadow нажмите кнопку Insert на клавиатуре.
Когда вы удалили хэш-пароля, то нажимаем ESC и для сохранения файла вводим :wq
Теперь когда мы обновили файл shadow и убрали в нем пароль root, нам необходимо перепаковать state.tgz и подложить его за место нового.
Переименуем и переместим (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 вы можете увидеть предупреждение
Изменение пароля 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.
Мега респект автору!
Перемещаем файл (state.tgz) mv state.tgz /mnt/
Отмантируем раздел и перезагрузим хост umount /tmp
Перезагрузка reboot
может отмонтируем /mnt ? 😉
а по сути — Спасибо!
Добрый день!
Может подскажете способ решения такой проблемы.
У нас в организации BladeCenter s, 5 лезвий, установлено ПО VMWare4, подключаемся к ним через VMware vSphere Client. При плановой смене ip-адресации успешно сменили адреса на 4 лезвиях, а на 5-ом что-то пошло не так и оно «потерялось». Т.е. VMware vSphere Client его теперь не видит ни на том адресе который был, ни на новом, который хотели настроить. Соответственно, достучаться не можем, гостевая ОС работает нормально, а вот панель управления не доступна. Есть ли варианты решения?
Спасибо.
Смотрите на BladeCenter коммутатор, почитайте статейку «Не загружаются blade в IBM BladeCenter после аварии с электричеством«
Спасибо, получилось по другой статье про сброс пароля, там скриншоты подсказали как: подключил монитор/клаву к серверу и поправил настройки.
А тут скриншоты не помогли? 🙂
Большое спасибо автору! Помогло.
Что-то не получается.
Точнее как, на 6.0 сбросил пароль успешно по вашей статье.
Потом обновился до 6.5, всё настроил и оно работало год. Через год пароль почему-то перестал работать, хотя точно всё верно вводилось.
Решил ещё раз сбросить его по этой статье. Всё выполнил, удалил хэш в shadow, отмонтировал раздел,перезагрузился, но при пользователе root и пустом пароле пишет invalid login or password.
Ещё раз загрузился с лин-образа, смонтировал раздел, распаковал etc и проверил shadow — всё как у вас в статье, хэш удалён. Но залогиниться не могу всё равно((
Я понимаю что вводных данных мало, но может вы сталкивались с подобным?
Спасибо за статью, да.
Так еще если и из под Руфуса, так отдельная песня. Хотелось бы совета от опытного сисадмина. Были бы вам благодарны и не только мы-)
Спасибо автору за проделанную работу. Хотел пойти его путем, но получилось все быстрее и проще. Обязательно сделайте снэпшот перед изменениями.
1. Перезагружаем машину с vCenter
2. При появлении экрана с PhotonOS нажимаем англуйскую e на клавиатуре.
3. Редактируем загрузчик: после consoleblank=0” добавляем rw init=/bin/bash
4. Нажимаем F10.
5. после загрузки набираем passwd и ставим нужный пароль для root
6. обязательно затем umount /
7. reboot /f
8. наслаждаемся)
Дмитрий, а можно подробнее ? а то как галопом по европам, слишком уж быстро получилось.
9.)
10.)
Спасибо за подробную инструкцию.
Иван, вам удалось сбросить пароль?
У меня аналогичная ситуация с продакт сервером.
Один из двух серверов сбросился нормально, на втором проблема. Хэш пустой, однако физический в esxi войти не удается — invalid login or password. В вебинтерфейсе тоже самое.
Пробовал примонтировать и подменить state в альтернативном разделе — ситуация не изменилась.
Есть места посмотреть где еще могут быть какие либо блокировки?
Или где еще может хранится хэш?
Добрый день! У вас какая версия ESXi?
Большое спасибо! Помогло. Отличное руководство!
Иван, у меня версия 6.7.0 19898906
ранее она имела ещё и vcenter но сервер с ним в один момент физический поломался со всем содержимым и теперь пытаюсь заломится напрямую к esxi
так у меня в шадоу файле много лишнего. я пробовал стирать хеши не только в root но еще и в dcui так как он там тоже присутствует и присутствует хеш в строке vpxuser . я не исключаю что где то была настроена минимальная длина пароля или что то типо того, например запрет пустого пароля, но где искать не знаю.
так же я заметил что если подменять шадоу в обеих разделах сразу то esxi пускает без пароля но в нем сбрасываются настройки адресации , удаляются все виртуалки , и все настройки, он выглядит нулевым, как только что после установки, хотя конфиги я вообще не трогаю. я трогаю только файл с хешем.
Странно что на более старом билде на другой машинке оно сработало, но та машинка была обновлена с 6.5 версии (или даже с 5.0 не помню) до 6.7, а та что была со свежей установкой 6.7 — никак не сбрасывается.
Вы решили свою проблему ? Удалось сбросить?