最近接入vcenter的2台 esxi主机要迁移到另一个vcenter管理,在另一台vcenter接入时始终报密码错误,但我清晰记得没有更改密码。那只能重置密码了,于是有下面漫长的折腾

1、通过vcenter页面重置密码

百度后,说主页有个策略和配置文件---主机和配置文件,可以创建配置文件重置root密码,

可我的VC死活没有“主机配置文件”这个页面:

esxi重置网络 esxi5.5重置密码_esxi重置网络

另一个VC是有的:

esxi重置网络 esxi5.5重置密码_重置_02

所以通过这条路来重置esxi密码是行不通的,只能另寻辟经

网上都是说要重启esxi来进入恢复模式重置,但我的esxi跑了业务,不想停机导致业务受影响,就先不考虑这个

在想其他办法时,突然想到在esxi接入vcenter时,他有输入root密码,这个密码会不会保存在VC的数据库里,顺着这个思路,在VC上找到自带的存储库使用的是postgres,使用psql登陆时需要输入密码

esxi重置网络 esxi5.5重置密码_服务器_03

通过google关键字“windows vcenter postgresql pass”,找到以下文章:

VMware Knowledge Base

顺利找到postgre的密码

esxi重置网络 esxi5.5重置密码_服务器_04

找到密码后,用psql登入postgre,然后找到相应的表,查询结果后,没有查到root的密码,但查到一个vpxuser 用户

esxi重置网络 esxi5.5重置密码_服务器_05

这密码是加密的,只能又继续查密码的解密方法,通过google关键字“vcenter postgres esxi vpxuser pass”,找到了文章:GitHub - jas502n/VcenterExsi_PwdDecrypt: vhost password decrypt(不能用,不要点)  

结果根据文章内容来解密发现解密不了

后又找到GitHub - shmilylty/vhost_password_decrypt: vhost password decrypt 能用   (注意symkey.dat一定要用vcenter服务器上的)

成功解密vpxuser的密码

esxi重置网络 esxi5.5重置密码_mysql_06

 

esxi重置网络 esxi5.5重置密码_运维_07

使用vpxuser及解密的密码,成功登陆esxi主机

 

esxi重置网络 esxi5.5重置密码_运维_08

然后用vpxuser重置了root密码, 

 

 

esxi重置网络 esxi5.5重置密码_mysql_09

结果,用新密码来登陆esxi主机时,还是拒绝登录

 使用pam_tally2 -u root 检查root账号确实有被锁定,但解锁后还是无法登录(解锁pam_tally2 -u root  --reset

esxi重置网络 esxi5.5重置密码_重置_10

 

百思不得其解,准备放弃时

用新的vc再试了一下接入,结果报错变了,提示“执行此操作的权限被拒绝。”

百度了一下,找到以下文章:

esxi重置网络 esxi5.5重置密码_esxi重置网络_11

在vc上把“锁定模式”禁用后,root能成功登陆

esxi重置网络 esxi5.5重置密码_服务器_12

esxi重置网络 esxi5.5重置密码_运维_13

 

至此,成功通过不重启esxi重置了root密码