惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

T
The Blog of Author Tim Ferriss
S
Schneier on Security
博客园 - 聂微东
爱范儿
爱范儿
大猫的无限游戏
大猫的无限游戏
有赞技术团队
有赞技术团队
腾讯CDC
博客园 - 叶小钗
WordPress大学
WordPress大学
博客园_首页
J
Java Code Geeks
Last Week in AI
Last Week in AI
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
V
V2EX
Microsoft Azure Blog
Microsoft Azure Blog
The GitHub Blog
The GitHub Blog
N
Netflix TechBlog - Medium
Y
Y Combinator Blog
Schneier on Security
Schneier on Security
CTFtime.org: upcoming CTF events
CTFtime.org: upcoming CTF events
Recorded Future
Recorded Future
The Register - Security
The Register - Security
C
Cybersecurity and Infrastructure Security Agency CISA
P
Privacy & Cybersecurity Law Blog
P
Proofpoint News Feed
P
Privacy International News Feed
K
Kaspersky official blog
C
CERT Recently Published Vulnerability Notes
阮一峰的网络日志
阮一峰的网络日志
F
Full Disclosure
NISL@THU
NISL@THU
AWS News Blog
AWS News Blog
cs.AI updates on arXiv.org
cs.AI updates on arXiv.org
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
U
Unit 42
MongoDB | Blog
MongoDB | Blog
A
Arctic Wolf
云风的 BLOG
云风的 BLOG
cs.CV updates on arXiv.org
cs.CV updates on arXiv.org
D
Darknet – Hacking Tools, Hacker News & Cyber Security
T
Threatpost
D
Docker
人人都是产品经理
人人都是产品经理
T
Tailwind CSS Blog
V2EX - 技术
V2EX - 技术
G
GRAHAM CLULEY
M
MIT News - Artificial intelligence
H
Heimdal Security Blog
N
News and Events Feed by Topic
P
Proofpoint News Feed

运维开发绿皮书

OBS虚拟摄像头重命名 Ubuntu备份为LiveOS 使用Powershell卸载windows默认程序 Cisco路由器OSPF配置 汽车的分类和特点 Windows11跳过TPM2.0 HTTPS 双向认证与 USB 加密锁配置实战 SSL 证书工具 字数统计 BMI 计算 颜色转换 Hash 生成器 JSON 格式化 JWT 解码 房贷计算 时间戳转换 URL 编码 UUID 生成 牛马时钟 二维码批量生成器 CKS Simulator Kubernetes 1.25 FRP TOTP验证码生成器 direct-ssh-passthrough-nat 脚本使用说明 Python软件授权 Linux命令行百度网盘 为 Containerd 配置 Harbor 无证书镜像站 Docker一键部署Meta和MetacubexD面板 必应搜索屏蔽垃圾网站 VMware的ubuntu完整安装vm-tools支持粘贴板 Docker Desktop 安装到其他位置 Dell EMC PowerEdge R740服务器内存插槽使用说明及正确安装方法 tc常用命令总结 OpenStack排错 稳定币监管与投资指南 VMware 加密 state.tgz 文件解密教程 六百万数据 MySQL count(*) 优化 使用iptables禁止特定子网访问指定端口 解决 iptables DNAT 无法转发到 127.0.0.1 的问题及安全风险分析 Linux 一键测试脚本 Gitlab配置详解 Gitlab批量创建用户 Ubuntu安装VNC教程 Windows11跳过微软账号登录 vue配置Nginx伪静态 Linux下Ollama开放端口 模型详解配置 修改Git提交历史中的作者信息 在PowerShell中启动Git Bash的方法 一键安装OpenVPN 大语言模型 模型架构-Transformer模型 训练相关资料 GPT&DeepSeek模型 大模型技术基础 Git Bash 中一键安装 pacman Gitlab-Runner的一些问题 Docker运行kwaivgi-liveportrait Firefox密码提取 在x86-64上构建和运行多种架构的Docker容器 flutter配置镜像站 VMware最新下载地址(纪念碑) 一键安装Conda Docker老版本runc报错无法启动 清理Rancher节点 aapanel 7.x 中文语言配置指南 Ubuntu 22 安装 Kubernetes 1.29 集群指南 Ubuntu修复CNVD-2024-4920726 GRUB锁定密码 Grub2手动引导Linux Cron在线表达式生成器 GitLab一键设置镜像源 文本字符串倒序 Windows禁用任务管理器 UOS(1070a)服务器版本部署Kubernetes1.28 Windows11恢复Windows10右键菜单 Ubuntu一键设置镜像源 CentOS 7 一键设置Vault镜像 Base64在线编码解码 代码差异对比 为Docker分配物理网卡 解密CFSSL生成的CRL数据 已经在谷底了 怎么走都是向上 GitLab统计提交代码行数Python代码 Windows11的24H2出现扩展错误 Windows绕过MicroSoft Store直接下载应用 Fossy平台离线部署分析 在WSL中移除Windows环境变量 重装MicroSoft Store Sony Xperia 10 IV(pdx225)AOSP14编译和刷机方法 pnpm在DevContainer中存储出错解决方法 从SVN迁移仓库到Git Ubuntu中移除Snap软件包 使用Netcat检测UDP端口连通性 rke2集群命令行调试方法 Ubuntu隐私优化-关闭公共门户连接检查 Cisco路由器配置ipv4和ipv6的VTY账户密码 Python实现九九乘法表 Windows10中用多网卡链路聚合来解决网卡网速瓶颈 CentOS7 安装 OpenResty
VMware ESXi 密码恢复指南
Paper-Dragon · 2025-09-05 · via 运维开发绿皮书

VMware ESXi 密码恢复指南

背景故事

某企业客户在日常运维中,由于人员岗位变动和交接文档不完整,意外丢失了VMware ESXi服务器的root管理员密码。导致运维团队无法正常登录和管理虚拟化平台,影响了日常的虚拟机维护和监控工作。

由于该ESXi服务器承载了多个关键业务系统,常规的密码重置方法无法适用,且客户希望尽可能保留现有的服务器配置和虚拟机状态。

因为遇到了这个事情然后对特定版本进行恢复密码,发现不同版本的VMware密码的恢复方法不一样,我对各种版本的VMware稍作研究,对方法进行记录。

Esxi的密码加密类型可以大致分为两种种,7.0.1之前的版本是配置记录法,通过明文密码进行记录,并压缩保存,7.0.1之后的版本使用了加密压缩包+数据库进行记录,安全性大幅增加;下面我对每种类型的密码加密和破解进行分章节介绍。

7.0.1之前的Esxi版本密码破解

环境准备

启动Linux Live系统(如Fedora Live),打开终端,确认ESXi配置分区(通常是/dev/sda5)。

操作步骤

备份和解压配置文件

mount /dev/sda5 /mnt
mkdir /tmp/esxi_recovery
cp /mnt/state.tgz /tmp/esxi_recovery
cd /tmp/esxi_recovery
tar xzf state.tgz
tar xzf local.tgz

修改密码配置 编辑etc/vmware/esx.conf文件(6.5前版本可能是esxi.conf):

找到密码相关行进行修改或删除。

6.7-7.0.1版本操作

vi etc/shadow
# 删除root那一行的加密密码,密码就会为空,不需要密码就能登陆控制台

重新打包并恢复

tar czf local.tgz etc/
tar czf state.tgz local.tgz
cp state.tgz /mnt/state.tgz
umount /mnt

重启ESXi主机 重启后即可使用修改后的密码登录。

7.0.1之后的Esxi密码破解

环境准备

  • 一台ESXi服务器(可使用crypto-util命令)
  • 一个CD Linux系统(用于挂载ESXi配置盘,推荐使用Fedora Live或其他带桌面环境的发行版)

在Linux操作系统内进行拷贝解压

mount /dev/sda5 /mnt
mkdir /tmp/esxi_recovery
cp /mnt/state.tgz /tmp/esxi_recovery
cd /tmp/esxi_recovery
tar xzf state.tgz

我们可以得到加密的文件

ls 
encryption.info
local.tgz.ve

将local.tgz.ve文件解密和修改

转移进Esxi系统进行操作

解密

crypto-util ++coreDumpEnabled=false,mem=20 envelope extract --aad ESXConfiguration local.tgz.ve local.tgz
tar -zxvf local.tgz
# 这里能得到var目录和etc目录

编辑和注入加密密钥

生成密钥

lunar@light MINGW64 ~
$ openssl passwd -6 P@ssw0rd456
$6$WETC82U1igW2DA5B$DdhGW5DJGvZibnsGn2V.xdKGGeMQfs5K7dXcpf9C2v9pqmgKF01ma/iH1.yfHD0Jwb8rv0mt1kmkZFlG53Ltq1

lunar@light MINGW64 ~
$ openssl passwd -6 P@ssw0rd456
$6$TQSuipF384bW8Ggf$PjUJ46McgVBwqUGcJjSFD241tpXXPvedUPwwLEHS9i64l0fREBtvxCdxmWelDwBz0Vc28bbAMZtLJEqE8Yri70

查询密钥存储

/usr/lib/vmware/sqlite/bin/sqlite3 /tmp/var/lib/vmware/configstore/backup/current-store-1
select * 
from config 
where Component='esx' 
  and ConfigGroup = 'authentication' 
  and Name = 'user_accounts' 
  and Identifier = 'root'
;

注入密钥

/usr/lib/vmware/sqlite/bin/sqlite3 /tmp/var/lib/vmware/configstore/backup/current-store-1
# 进入数据库,更新密码为P@ssw0rd456
update config set UserValue='{"name":"root","password_hash":"$6$TQSuipF384bW8Ggf$PjUJ46McgVBwqUGcJjSFD241tpXXPvedUPwwLEHS9i64l0fREBtvxCdxmWelDwBz0Vc28bbAMZtLJEqE8Yri70","description":"Administrator"}' where Component='esx' and ConfigGroup = 'authentication' and Name = 'user_accounts' and Identifier = 'root'
;

重新打包并恢复

在Esxi系统里面打包

rm -f local.tgz
tar -cvf local.tgz .ssh/ etc/ var/

将local.tgz文件拷贝回Linux操作系统

rm -rvf state.tgz
tar -cvf state.tgz encryption.info local.tgz

拷贝回服务器并重启

重启后可以使用

P@ssw0rd456

进行登录