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