最近接入vcenter的2台 esxi主机要迁移到另一个vcenter管理,在另一台vcenter接入时始终报密码错误,但我清晰记得没有更改密码。那只能重置密码了,于是有下面漫长的折腾
1、通过vcenter页面重置密码
百度后,说主页有个策略和配置文件---主机和配置文件,可以创建配置文件重置root密码,
可我的VC死活没有“主机配置文件”这个页面:
另一个VC是有的:
所以通过这条路来重置esxi密码是行不通的,只能另寻辟经
网上都是说要重启esxi来进入恢复模式重置,但我的esxi跑了业务,不想停机导致业务受影响,就先不考虑这个
在想其他办法时,突然想到在esxi接入vcenter时,他有输入root密码,这个密码会不会保存在VC的数据库里,顺着这个思路,在VC上找到自带的存储库使用的是postgres,使用psql登陆时需要输入密码
通过google关键字“windows vcenter postgresql pass”,找到以下文章:
顺利找到postgre的密码
找到密码后,用psql登入postgre,然后找到相应的表,查询结果后,没有查到root的密码,但查到一个vpxuser 用户
这密码是加密的,只能又继续查密码的解密方法,通过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的密码
使用vpxuser及解密的密码,成功登陆esxi主机
然后用vpxuser重置了root密码,
结果,用新密码来登陆esxi主机时,还是拒绝登录
使用pam_tally2 -u root 检查root账号确实有被锁定,但解锁后还是无法登录(解锁pam_tally2 -u root --reset
)
百思不得其解,准备放弃时
用新的vc再试了一下接入,结果报错变了,提示“执行此操作的权限被拒绝。”
百度了一下,找到以下文章:
在vc上把“锁定模式”禁用后,root能成功登陆
至此,成功通过不重启esxi重置了root密码