在 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 密码已重置,您可以使主机退出维护模式。
