Content
Zurücksetzen des Root-Benutzerpassworts in ESXi 7.x
Manchmal können Sie sich aus verschiedenen Gründen nicht in die ESXi-Verwaltungskonsole einloggen, weil Sie kein gültiges Passwort haben. Dies kann durch einen Systemeinbruch, einen Systemausfall, einen verlorenen Passwort oder wenn Sie ein ESXi ohne Dokumentation oder angemessene administrative Kontrolle übernommen haben, geschehen. Dies ist eine unangenehme Situation, die Sie angehen müssen. Vielleicht nicht sofort, aber wenn etwas schiefgeht und Sie in ein System eingreifen müssen, das bisher normal funktioniert hat. Diese Anleitung ist genau für solche Fälle geschrieben.
Sicherung
Vor der Durchführung von Aktionen müssen Sie Sicherungen der Konfiguration, virtuellen Maschinen, Netzwerkeinstellungen und der Lizenz erstellen.
- Host-Konfiguration:
vim-cmd hostsvc/firmware/backup_config
- Der Befehl erstellt eine Sicherung der Host-Konfiguration. Nach der Ausführung wird in der Ausgabe eine URL angezeigt (z. B.
http://
)./downloads/ .tgz - Laden Sie die Datei über diese URL mit einem Webbrowser oder einem Tool wie
wget
odercurl
herunter und speichern Sie sie auf einem externen Speichermedium:wget http://
/downloads/ .tgz -O /path/to/backup/ .tgz - Zur Wiederherstellung der Konfiguration verwenden Sie die Weboberfläche von vSphere Client:
- Navigieren Sie zu "Host" → "Configure" → "System" → "Backup/Restore".
- Wählen Sie "Restore" und laden Sie die zuvor gespeicherte
.tgz
-Datei hoch.
Alternativ, um die aktuelle Konfiguration mit der auf der Festplatte gespeicherten zu synchronisieren, verwenden Sie:
vim-cmd hostsvc/firmware/sync_config
- Ein gültiges Root-Passwort ist erforderlich. Falls nicht vorhanden, verwenden Sie den Zugriff über vCenter oder SSH-Schlüssel.
- Der Befehl erstellt eine Sicherung der Host-Konfiguration. Nach der Ausführung wird in der Ausgabe eine URL angezeigt (z. B.
- Virtuelle Maschinen:
ovftool vi://root@[ESXI_IP]/[VM_NAME] /path/to/backup/[VM_NAME].ova
- Das Tool
ovftool
ist erforderlich, installiert auf einem Administrationsrechner (Windows, macOS oder Linux). Das Tool kann von VMware Customer Connect heruntergeladen werden. - Stellen Sie sicher, dass der Administrationsrechner Zugriff auf den ESXi-Host hat, und verwenden Sie ein gültiges Root-Passwort, um den Befehl auszuführen.
- Speichern Sie die
.ova
-Datei auf einem externen Speichermedium.
- Das Tool
- Netzwerkeinstellungen:
esxcli network ip interface list > network_config.txt
Speichern Sie die Ausgabe in einer Datei.
- ESXi-Lizenz:
vim-cmd vimsvc/license --show
Speichern Sie Sicherungen auf einem externen Speichermedium, das nicht mit dem Host verbunden ist.
Bestimmung des Infrastrukturtyps
Um die optimale Zurücksetzungsmethode zu wählen, bestimmen Sie den Typ des Hosts:
- Von vCenter verwaltet: Im Webinterface von ESXi zeigt der Abschnitt "Summary" einen vCenter Server an.
- eigenständig: Die Verwaltung erfolgt direkt, ohne vCenter.
Methode 1: Von vCenter verwalteter Host (Host Profiles)
Diese Methode verwendet Host Profiles für Hosts, die mit vCenter verbunden sind. Sie erfordert keinen Neustart und wird von VMware unterstützt.
Anforderungen
- VMware vSphere Enterprise Plus-Lizenz.
- Zugriff auf den vCenter Server.
- Ein weiterer ESXi-Host mit bekanntem Root-Passwort und identischer ESXi-Version (z. B. 7.0 Update 3c).
- Bei Verwendung einer Standard-Lizenz oder niedriger, verwenden Sie Methode 2 (Neuinstallation) oder Methode 3 (Nested ESXi).
Schritte
- Melden Sie sich im vSphere Client (HTML5) an.
- Navigieren Sie zum Abschnitt "Host Profiles":
- Wählen Sie im Hauptmenü "Menu" → "Host Profiles" oder navigieren Sie über "Inventory" → "Hosts and Clusters" → "Host Profiles" (je nach vSphere-Version).
- Profil extrahieren:
- Wählen Sie einen Host mit bekanntem Passwort.
- Klicken Sie auf "Extract Profile from Host".
- Geben Sie einen Profilnamen ein, z. B.
Password_Reset_Profile
. - Warten Sie auf den Abschluss.
- Profil bearbeiten:
- Wählen Sie das Profil und klicken Sie auf "Edit Settings".
- Navigieren Sie zu "Security Configuration" → "Authentication Configuration".
- Wählen Sie im Abschnitt "Local User Accounts" das Konto
root
. - Legen Sie ein neues Passwort fest (mindestens 8 Zeichen, einschließlich Großbuchstaben, Zahlen und Sonderzeichen).
- Speichern Sie die Änderungen.
- Zielhost vorbereiten:
- Wählen Sie den Host mit dem vergessenen Passwort.
- Wechseln Sie in den Wartungsmodus: Rechtsklick → "Enter Maintenance Mode".
- Wählen Sie "Move powered off and suspended virtual machines to other hosts", falls zutreffend.
- Wenn DRS oder vMotion nicht verfügbar sind, schalten Sie virtuelle Maschinen aus.
- Warten Sie auf den Abschluss.
- Profil anwenden:
- Wählen Sie im Abschnitt "Host Profiles" das Profil.
- Klicken Sie auf "Attach/Detach Hosts and Clusters" und wählen Sie den Host.
- Klicken Sie auf "Attach" und dann auf "Remediate".
- Bestätigen Sie die Änderungen und warten Sie auf den Abschluss (ca. zehn Minuten).
- Überprüfen:
- Beenden Sie den Wartungsmodus: Rechtsklick → "Exit Maintenance Mode".
- Melden Sie sich mit dem neuen Passwort über die Weboberfläche oder SSH an.
- Überprüfen Sie virtuelle Maschinen:
vim-cmd vmsvc/getallvms
Hinweise
- Die ESXi-Version des Referenzhosts muss mit dem Zielhost übereinstimmen.
- Konfigurationsunterschiede können Fehler verursachen. Überprüfen Sie die vCenter-Protokolle.
Risiken
- Minimal, wenn die Anweisungen befolgt werden.
- Mögliche Fehler durch Konfigurationsunterschiede.
Methode 2: Eigenständiger Host — Neuinstallation
Für eigenständige Hosts wird eine Neuinstallation von ESXi verwendet. Diese Methode führt ohne Sicherungen zum Verlust der Konfiguration.
Schritte
- Vorbereitung:
- Laden Sie ESXi von VMware Customer Connect herunter.
- Erstellen Sie einen bootfähigen USB-Stick mit Rufus, Ventoy oder:
sudo dd if=/path/to/esxi.iso of=/dev/sdX bs=4M status=progress && sync
Stellen Sie sicher, dass
/dev/sdX
das richtige USB-Gerät ist (überprüfen Sie mitlsblk
oderfdisk -l
). - Führen Sie eine Sicherung durch (siehe Abschnitt "Sicherung").
- Neuinstallation:
- Starten Sie vom Installationsmedium.
- Wählen Sie die Festplatte und bestätigen Sie die Überschreibung.
- Legen Sie ein neues Root-Passwort fest (mindestens 8 Zeichen empfohlen).
- Warten Sie auf den Abschluss der Installation (ca. 15 Minuten).
- Wiederherstellung:
- Konfigurieren Sie das Netzwerk:
esxcli network ip interface ipv4 set -i vmk0 -I [IP] -N [NETMASK] -t static esxcli network ip route ipv4 add -g [GATEWAY] -n default esxcli network ip interface set -e false -i vmk0; esxcli network ip interface set -e true -i vmk0
Wenn der Host einen vSphere Distributed Switch (vDS) verwendet hat, stellen Sie vDS über vCenter wieder her oder konfigurieren Sie einen vSphere Standard Switch (vSS).
- Speicher verbinden:
esxcli storage core adapter rescan --all
Um alle verfügbaren VMFS-Volumes zu mounten, verwenden Sie:
esxcli storage filesystem automount
Wenn das automatische Mounten fehlschlägt, überprüfen Sie verfügbare Volumes und mounten Sie manuell:
esxcli storage filesystem list esxcli storage filesystem mount --volume-label=[VOLUME_LABEL]
Ersetzen Sie
[VOLUME_LABEL]
durch den Volumennamen, der mit demlist
-Befehl erhalten wurde. - Virtuelle Maschinen importieren:
ovftool /path/to/backup/[VM_NAME].ova vi://root@[ESXI_IP]/
Stellen Sie sicher, dass
ovftool
auf einem Administrationsrechner mit Zugriff auf den Host ausgeführt wird. - Lizenz wiederherstellen:
vim-cmd vimsvc/license --set [LICENSE_KEY] --label="ESXi License"
Der Parameter
--label
ist optional, wird aber zur Identifizierung der Lizenz in der vSphere-Oberfläche empfohlen.
- Konfigurieren Sie das Netzwerk:
Risiken
- Verlust der Konfiguration und virtueller Maschinen ohne Sicherungen.
- Erfordert eine erneute Konfiguration von Netzwerk und Speicher.
Methode 3: Eigenständiger Host — Alternative Methode
Für eigenständige Hosts, bei denen eine Neuinstallation nicht möglich ist, wird eine Methode mit Nested ESXi und einer Linux-VM verwendet, um Konfigurationsdateien zu ändern. Diese Methode ist komplex, wird von VMware nicht unterstützt und ist für erfahrene Administratoren gedacht.
Anforderungen
- Nested ESXi-VM, die der Version und dem Build des Hosts entspricht (z. B. 7.0 Update 3c). Verfügbar auf VMware Flings.
- Linux-VM (z. B. Ubuntu 20.04+).
- Physischer Zugriff auf den Server.
- Erfahrung mit Linux.
Schritte
- Bereitstellen von Nested ESXi und Linux-VM.
- Starten Sie von einer Linux LiveCD, mounten Sie ESXi-Partitionen und kopieren Sie die Dateien
state.tgz
undlocal.tgz
. - Übertragen Sie die Dateien auf Nested ESXi, entschlüsseln Sie sie mit
/usr/lib/vmware/crypto-util
und ändern Sie den Passworthash in der SQLite-Datenbank. - Packen und verschlüsseln Sie die Dateien erneut, übertragen Sie sie zurück auf den Host und starten Sie neu.
Risiken
- Wenn der Host ein Trusted Platform Module (TPM) verwendet, sind Konfigurationsdateien an TPM-Schlüssel gebunden. Das Ersetzen von Dateien ohne Schlüssel kann das System unbrauchbar machen. Überprüfen Sie:
esxcli system settings encryption get
Wenn
Encryption Mode
TPM anzeigt, ist diese Methode möglicherweise nicht anwendbar. - Falsche Änderungen können Netzwerkeinstellungen, Speicher oder virtuelle Maschinen zurücksetzen.
- Nested ESXi muss exakt der Version des Hosts entsprechen.
- In ESXi 8.x funktioniert die Methode möglicherweise nicht aufgrund von Änderungen in der Verschlüsselung.
Alternative
Wenn SSH aktiviert ist, fügen Sie einen SSH-Schlüssel hinzu:
- Schlüssel generieren:
ssh-keygen -t rsa -b 4096
- Fügen Sie den Schlüssel zu
/etc/ssh/keys-root/authorized_keys
hinzu.
Präventive Maßnahmen
- Dokumentation:
- Speichern Sie Passwörter in einem Passwort-Manager, z. B. HashiCorp Vault.
- Halten Sie die Dokumentation aktuell.
- SSH-Zugriff:
- SSH für die aktuelle Sitzung aktivieren:
esxcli system services enable --id=TSM-SSH esxcli system services start --id=TSM-SSH
- Für den automatischen Start von SSH beim Booten:
esxcli system services set --policy=on --id=TSM-SSH
- Deaktivieren Sie das Timeout der ESXi-Shell:
esxcli system settings advanced set -o /UserVars/ESXiShellTimeOut -i 0
- Alternativ, konfigurieren Sie über vSphere Client:
- Wählen Sie den Host → "Configure" → "Services".
- Suchen Sie "TSM-SSH", wählen Sie "Options" → "Start and stop with host".
- SSH-Schlüssel konfigurieren:
- Schlüssel auf dem Client-Rechner generieren:
ssh-keygen -t rsa -b 4096
- Den öffentlichen Schlüssel (z. B.
~/.ssh/id_rsa.pub
) auf den Host kopieren:scp ~/.ssh/id_rsa.pub root@[ESXI_IP]:/etc/ssh/keys-root/authorized_keys
- Berechtigungen setzen:
ssh root@[ESXI_IP] "chmod 644 /etc/ssh/keys-root/authorized_keys"
- Schlüssel auf dem Client-Rechner generieren:
- Speichern Sie Schlüssel in
/etc/ssh/keys-root/authorized_keys
.
- SSH für die aktuelle Sitzung aktivieren:
- Active Directory:
- Host über CLI einer Domäne beitreten:
esxcli system authentication activedirectory join -d [DOMAIN] -u [USERNAME] -p [PASSWORD]
Geben Sie [DOMAIN] (z. B. example.com), [USERNAME] (Benutzer mit Beitrittsberechtigungen) und [PASSWORD] an.
- Alternativ, verwenden Sie vSphere Client:
- Wählen Sie den Host → "Configure" → "Authentication Services".
- Klicken Sie auf "Join Domain", geben Sie die Domäne und Anmeldeinformationen ein.
- Berechtigungen einer Domänengruppe über vSphere Client zuweisen:
- Wählen Sie den Host oder vCenter.
- Navigieren Sie zu "Permissions".
- Klicken Sie auf "Add", wählen Sie die Gruppe (z. B.
DOMAIN\GroupName
) und weisen Sie eine Rolle zu (z. B. "Administrator").
- Für die Automatisierung verwenden Sie PowerCLI:
New-VIPermission -Entity (Get-VMHost) -Principal "DOMAIN\GroupName" -Role Admin
- Host über CLI einer Domäne beitreten:
- Überwachung:
- Verwenden Sie vRealize Operations oder Zabbix.
- Konfigurieren Sie Benachrichtigungen für Ausfälle.
- Sicherung:
- Automatisieren:
vim-cmd hostsvc/firmware/backup_config
Laden Sie die Datei über die URL herunter und speichern Sie sie auf einem externen Medium.
- Automatisieren: