Vmware ESXi Password Reset durchfuehren und Licence Key wiederfinden

Das Password des root Accounts eines ESXi 5.5 Servers zuruecksetzen wird von vmware Offiziell nicht unterstuetzt. Die einzige Option die vmware anbietet besteht in der Durchfuehrung einer reperatur Installation , was aber tun wenn keine Installations CD mehr vorhanden ist und auch der Lizens Key nicht mehr aufzufinden ist?

Eine NICHT offizielle Variante wird auf der Webseite:
http://www.vm-help.com/esx/esx3i/Reset_root_password.php
beschrieben.
Denkt daran, wenn man das auf einem produktiv System durchfuehrt, auf eigene Gefahr!! Nebenbei bekommt man bei dieser Prozedur aber auch wieder Zugriff auf den bei der urspruenglichen Installation des ESXi Hosts verwendeten Lizensschluessel.

Grundsaetzlich ist auf einem ESXi genauso eine /etc/shadow Datei vorhanden wie auf vielen Linux Systemen. Der ESXi scheint allerdings keine Systempartition im klassichen Sinne zu haben. Das Dateisystem auf dem der ESXi Arbeitet wird erst beim Booten zusammengesetzt unter anderem aus *.tgz Dateien die auf den Partitonen des Hosts vorhanden sind.

Von einem Live System Booten

Auf die Partitionen des Hosts kann mittels eines Live Linux Systems (z.b Knoppix, Ubuntu) zugegriffen werden. Also erstmal Booten des Hosts von einer Live Linux CD, in meinem Fall Ubuntu. Die Platte des ESXi Hosts ist ueblicherweise GPT Formatiert d.h mit Fdisk ist die Platteneinteilung nicht zu erkennen. Dafuer ist GParted notwendig. In meinem Fall konnte ich folgendes erkennen:
/dev/sda1 – Bootdateien
/dev/sda2 – Logdateien und anderes
/dev/sda3 – vmfs Dateisystem?
/dev/sda5 – Systemdateien
/dev/sda6 – Bootdateien
/dev/sda7 – leer
/dev/sda8 – package und var

Das gepackte System mi der etc/shadow

Das System des ESXi liegt in *.tgz Dateien gepackt auf der sda5 Partition. Dort findet sich eine Datei state.tgz. Es gibt uebrigens Hinweise darauf das auf einem ESXi Host mehrere state.tgz vorhanden sein koennen. Man sollte immer die mit dem neusten Datum auswaehlen. Kopiert man diese Datei auf einen USB Stick und kopiert sie dann auf einen anderen (Linux)Rechner dann kann man sie dort entpacken:

$ tar xzlpvf state.tgz

Danach findet sich eine Datei Namens local.tgz in dem Verzeichniss. Diese Datei kann wiederum entpackt werden.

$ tar xzlpvf local.tgz

Danach findet sich ein Verzeichniss Namens etc im aktuellen Verzeichniss. Darunter finden sich nun diverse Konfigurationsdateien des ESXi Servers. z.b auch die etc/shadow. Hier kann dann wie auf anderen Systemen auch mittels eines Editors das verschluesselte Passwort geloescht werden.

Der Lizenskey


Im etc Verzeichniss findet sich wiederum das Verzeichniss vmware, in diesem findet sich die Datei vmware.lic darin findet sich der Lizenskey so den einer bei der Installation verwendet wurde.
Nun wechselt man auf die Verzeichnissebene ueber dem entpackten etc Verzeichniss.

Mittels

$ tar czvf local.tgz etc

erstellt man nun ein neues local.tgz woraus mit

$ tar czvf state.tgz local.tgz

ein neues state.tgz erstellt wird.

Diese Datei kopiert man nun wieder auf den USB Stick und kopiert sie ueber die alte state.tgz auf dem ESXi Server. Dateisystem unmounten, System Neustarten, wenn alles geklappt hat, dann hat root nach dem Systemneustart ein leeres Passwort welches neu gesetzt werden kann.