在 VMware ESXi 中重置 Root 密碼
根據VMware官方文檔,從頭開始重新安裝ESXi是唯一支持重置root密碼的方法(https://kb.vmware.com/s/article/1317898)。您還可以使用主機配置文件重置密碼(需要 vCenter 和 Enterprise Plus 許可證)。但是,重新安裝後,您的 ESXi 主機配置將完全丟失。虛擬機數據和配置文件保留在VMFS/NFS數據存儲上,重新安裝後可以快速導入到主機。
實際上,如果您使用任何 Linux 啟動/救援磁盤啟動主機,則可以在 VMware ESXi 上重置 root 密碼,而無需重新安裝。這並不難。
內容:
如果您忘記了 root 密碼,您將無法使用 DCUI 或 VMware Host Client Web 界面以 root 身份進行身份驗證:
Authentication failed Invalid login or password.

如何使用 Linux Live CD 重置 ESXi 密碼
ESXi 將用戶密碼(或者更確切地說是其哈希值)存儲在/etc/影子文件,該文件存儲在本地.tgz存檔,存檔於狀態.tgz。理論上,您可以從此文件中檢索並解密根密碼哈希,但這僅適用於簡單密碼。因此,最好在影子文件中設置一個空白的當前 root 密碼,或者將其替換為您知道的密碼的哈希值。
從任何 Linux LiveCD 引導 ESXi 主機並打開控制台。
列出磁盤分區:
# fdisk –l
我們需要/dev/sda5(在VMware術語中,它被稱為bootbank) 和/dev/sda6(包含altrbootbank)在 ESXi 7.x 中大小為 1 GB 的分區(在之前的 ESXi 版本中,這些分區的大小為 250 MB)。


首先,在 /dev/sda5 中的 ESXi 配置中重置密碼。創建掛載點和臨時文件目錄:
# mkdir /mnt/sda5
# mkdir /mnt/sda6
# mkdir /temp
掛載/dev/sda5:
# mount /dev/sda5 /mnt/sda5
複製狀態.tgzsda5 的文件:
# cp /mnt/sda5/state.tgz /temp
# cd /temp
解壓state.tgz:
# tar xzf state.tgz
裡面還有另一個 local.tgz 存檔,也解壓它:
# tar xzf local.tgz
etc 文件夾出現在當前目錄中。
使用任何文本編輯器編輯影子文件:
# nano /temp/etc/shadow
該文件包含本地 ESXi 用戶的密碼哈希。


要刪除當前密碼並為 root 設置空白密碼,請清除哈希值。它應該看起來像這樣:


保存對文件的更改,刪除舊的 tgz 存檔,然後重新打包它們:
# rm *.tgz
# tar czf local.tgz etc
# tar czf state.tgz local.tgz
替換 sda5 ESXi 分區上的 state.tgz 文件:
# mv state.tgz /mnt/sda5
卸載分區:
# umount /mnt/sda5
以同樣的方式,在 sda6 分區上的 passwd 文件中設置一個空密碼(您現在應該能夠使用空 root 密碼連接到 ESXi)。
現在您可以重新啟動 ESXi 主機並刪除可啟動閃存驅動器/映像。您可以使用空 root 密碼連接到 ESXi。
此密碼重置方法適用於所有版本的 ESXi(5.x、6.x、7.x 和 8.x),包括免費的 VMware Hypervisor。
登錄後請務必設置新的 root 密碼。
如果您已部署 vCenter 並在主機上安裝了 vSphere Enterprise Plus 許可證,則可以使用以下命令在任何託管主機上重置 root 密碼VMware 主機配置文件。在這種情況下,要將 VMware 配置文件設置(和新的 root 密碼)應用到 ESXi 主機,VPXA使用特權帳戶,該帳戶是在將主機連接到 vCenter 時添加的。此方法允許您在不重新引導 ESXi 主機的情況下重置 root 密碼。
- 連接到您的 vCenter 並轉至策略和配置文件 -> 主機配置文件 ->提取主機配置文件;


- 選擇您的 ESXi 主機並指定要將設置保存到的配置文件的名稱;
- 單擊個人資料並選擇編輯主機配置文件;
- 前往安全和服務 -> 安全設置 -> 安全 -> 用戶配置 -> root;
- 在中設置新的 root 密碼固定密碼配置;


- 然後將該配置文件應用到您的 ESXi 主機。建議您為其啟用維護模式(維護模式->進入維護)並將所有虛擬機移動到其他主機;
- 將配置文件附加到主機(主機配置文件 -> 附加主機配置文件);


- 然後轉到主機配置文件,選擇您的配置文件,然後單擊補救;
- 要應用配置文件設置(包括新密碼),請單擊補救再次;


- ESXi 主機上的 root 密碼已重置,您可以使主機退出維護模式。
