在 VMware ESXi 中重置 Root 密碼

Jacki

根據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 配置中重置密碼。創建掛載點和臨時文件目錄:

另請閱讀:如何從小米設備中刪除過時軟件(無需root)?

# 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 密碼。

  1. 連接到您的 vCenter 並轉至策略和配置文件 -> 主機配置文件 ->提取主機配置文件;
  2. 選擇您的 ESXi 主機並指定要將設置保存到的配置文件的名稱;
  3. 單擊個人資料並選擇編輯主機配置文件;
  4. 前往安全和服務 -> 安全設置 -> 安全 -> 用戶配置 -> root;
  5. 在中設置新的 root 密碼固定密碼配置;
  6. 然後將該配置文件應用到您的 ESXi 主機。建議您為其啟用維護模式(維護模式->進入維護)並將所有虛擬機移動到其他主機;
  7. 將配置文件附加到主機(主機配置文件 -> 附加主機配置文件);
  8. 然後轉到主機配置文件,選擇您的配置文件,然後單擊補救;
  9. 要應用配置文件設置(包括新密碼),請單擊補救再次;
  10. ESXi 主機上的 root 密碼已重置,您可以使主機退出維護模式。