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

Обновлено 03.11.2018

esxi logoДобрый день! Уважаемые читатели и гости, крупного 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

Authentication failed. Invalid login or password

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

Cannot complete login due to an incorrect user name or password

Cannot complete login due to an incorrect user name or password-01

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

Cannot complete login due to an incorrect user name or password

Cannot complete login due to an incorrect user name or password-02

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

  1. Если бы говорим с вами про версию 6 и выше, то она управляется через удобный веб-интерфейс. Современные браузеры имеют такую функцию, как запоминание пароля вводимого на той или иной странице, люди машинально нажимают да, и потом он всегда вводится автоматически, с пользователя эта задачу уходит, вроде удобно, но заставляет быстро и напрочь забыть пароль. Если вы его сохранили в браузере, то первым делом я вам советую попробовать восстановить пароль ESXI из менеджера паролей браузера (Как посмотреть сохраненные пароли в браузерах). Данный метод сброса рутового пароля самый простой и займет пару минут.Вот пример восстановленных паролей Vmware сервера, как это делать читайте по ссылке выше.Восстановление пароля root vmware esxi 6.5
  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/

Сводный список Live-cd

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

загрузочная флешка linux

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

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

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

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

сброс пароля ESXI через LIVE-CD CentOS-01

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

сброс пароля ESXI через LIVE-CD CentOS-02

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

Выбор языка у Live CD

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

Выбор раскладки клавиатуры

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

Разрешение геолокации в Live CD

сброс пароля ESXI через LIVE-CD CentOS-06

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

Выбор учетной записи для синхронизации почты и других сервисов

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

Загрузка Live-cd для сброса пароля root

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

Рабочий стол Live-CD

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

Открытие терминала для сброса пароля ESXI

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

sudo su

Получение SUDO прав

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

fdisk -l

Получение списка партиций ESXI

На выходе вы получите список ваших разделов в виде списка устройств с именем /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

использование утилиты parted

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

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

Схема разделов 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

 

Монтирование раздела ESXI 6.5

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

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

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

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

local.tgz

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

tar -xzf local.tgz

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

Правка файла shadow

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

Редактирование пароля esxi в shadow

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

Редактирование пароля esxi в shadow-2

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

Сохранение файла shadow

Теперь когда мы обновили файл 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

Перемещение файла state.tgz

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

Задание нового пароля ESXI-01

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

Задание нового пароля ESXI-02

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

The default password for the root user has not been changed

The default password for the root user has not been changed

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

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

Открытие home на Live-cd

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

Монтирование раздела ESXI

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

Восстановление пароля root ESXI-04

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

поиск файла state.tgz

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

Восстановление пароля root ESXI-05

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

Восстановление пароля root ESXI-06

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

Распаковка файла state.tgz

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

Восстановление пароля root ESXI-08

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

редактирование файла shadow

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

удаляем хэш пароля root

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

Восстановление пароля root ESXI-11

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

Восстановление пароля root ESXI-12

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

Восстановление пароля root ESXI-13

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

Создание local.tgz

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

Восстановление пароля root ESXI-15

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

Добавление нового local.tgz

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

Восстановление пароля root ESXI-17

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

Восстановление пароля root ESXI-18

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

Замена старого state.tgz

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

Сброс пароля ESXi через Host Profile-01

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

Задаем имя Host Profile

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

создание Host Profile

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

Сброс пароля ESXi через Host Profile-04

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

изменяем Edit Profile

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

Security Configuration, choose Administrator password

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

Enable/Disable Profile Configuration

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

Security Configuration

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

Maintenance Mode

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

Сброс пароля ESXi через Host Profile-10

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

Сброс пароля ESXi через Host Profile-11

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

Сброс пароля ESXi через Host Profile-12

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

Сброс пароля ESXi через Host Profile-13

Автор - Сёмин Иван

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

  1. a315757105@ya.ru:

    Мега респект автору!

  2. Юрий:

    Перемещаем файл (state.tgz) mv state.tgz /mnt/
    Отмантируем раздел и перезагрузим хост umount /tmp
    Перезагрузка reboot

    может отмонтируем /mnt ? 😉
    а по сути — Спасибо!

  3. Олег:

    Добрый день!
    Может подскажете способ решения такой проблемы.
    У нас в организации BladeCenter s, 5 лезвий, установлено ПО VMWare4, подключаемся к ним через VMware vSphere Client. При плановой смене ip-адресации успешно сменили адреса на 4 лезвиях, а на 5-ом что-то пошло не так и оно «потерялось». Т.е. VMware vSphere Client его теперь не видит ни на том адресе который был, ни на новом, который хотели настроить. Соответственно, достучаться не можем, гостевая ОС работает нормально, а вот панель управления не доступна. Есть ли варианты решения?
    Спасибо.

  4. Иван Семин:

    Смотрите на BladeCenter коммутатор, почитайте статейку «Не загружаются blade в IBM BladeCenter после аварии с электричеством«

  5. Олег:

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

  6. Иван Семин:

    А тут скриншоты не помогли? 🙂

  7. Никита:

    Большое спасибо автору! Помогло.

  8. Иван:

    Что-то не получается.
    Точнее как, на 6.0 сбросил пароль успешно по вашей статье.
    Потом обновился до 6.5, всё настроил и оно работало год. Через год пароль почему-то перестал работать, хотя точно всё верно вводилось.
    Решил ещё раз сбросить его по этой статье. Всё выполнил, удалил хэш в shadow, отмонтировал раздел,перезагрузился, но при пользователе root и пустом пароле пишет invalid login or password.

    Ещё раз загрузился с лин-образа, смонтировал раздел, распаковал etc и проверил shadow — всё как у вас в статье, хэш удалён. Но залогиниться не могу всё равно((

    Я понимаю что вводных данных мало, но может вы сталкивались с подобным?

  9. Иван:

    Спасибо за статью, да.

  10. Andrey:

    Так еще если и из под Руфуса, так отдельная песня. Хотелось бы совета от опытного сисадмина. Были бы вам благодарны и не только мы-)

  11. Дмитрий:

    Спасибо автору за проделанную работу. Хотел пойти его путем, но получилось все быстрее и проще. Обязательно сделайте снэпшот перед изменениями.
    1. Перезагружаем машину с vCenter
    2. При появлении экрана с PhotonOS нажимаем англуйскую e на клавиатуре.
    3. Редактируем загрузчик: после consoleblank=0” добавляем rw init=/bin/bash
    4. Нажимаем F10.
    5. после загрузки набираем passwd и ставим нужный пароль для root
    6. обязательно затем umount /
    7. reboot /f
    8. наслаждаемся)

  12. Andrey:

    Дмитрий, а можно подробнее ? а то как галопом по европам, слишком уж быстро получилось.
    9.)
    10.)

  13. Джалил:

    Спасибо за подробную инструкцию.

  14. Дмитрий:

    Иван, вам удалось сбросить пароль?
    У меня аналогичная ситуация с продакт сервером.

    Один из двух серверов сбросился нормально, на втором проблема. Хэш пустой, однако физический в esxi войти не удается — invalid login or password. В вебинтерфейсе тоже самое.
    Пробовал примонтировать и подменить state в альтернативном разделе — ситуация не изменилась.

    Есть места посмотреть где еще могут быть какие либо блокировки?
    Или где еще может хранится хэш?

  15. Иван Семин:

    Добрый день! У вас какая версия ESXi?

  16. Андрей:

    Большое спасибо! Помогло. Отличное руководство!

  17. Дмитрий:

    Иван, у меня версия 6.7.0 19898906

    ранее она имела ещё и vcenter но сервер с ним в один момент физический поломался со всем содержимым и теперь пытаюсь заломится напрямую к esxi

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

    Странно что на более старом билде на другой машинке оно сработало, но та машинка была обновлена с 6.5 версии (или даже с 5.0 не помню) до 6.7, а та что была со свежей установкой 6.7 — никак не сбрасывается.

    Вы решили свою проблему ? Удалось сбросить?

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *