VMware 官方给出的文档中,ESXi 6.X重置密码只有一种方法,那种是重装ESXi。此做法会删除掉原来系统中的网络配置信息,以及虚拟机的注册信息。
后来查询网络上的还有一种重置密码的方式,并且不会丢任何配置,简直完美。
故决定尝试此方法。
此方法如下:
首先我们要知道如何才能清空或者更改Linux(esxi宿主系统也是基于Linux的)的密码,那就是/etc/shadow文件。下面是一个例子:
我们要做的就是使用第三方系统进入主机,越权操作Esxi宿主机系统的/etc/shadow文件。
在这里我们介绍一下Esxi使用了多个磁盘分区。其中一个比较特别的叫做bootbank。此分区包含管理程序核心文件和主机配置,这最终会被加载到内存中。默认情况下,分区称为/dev/sda5。
我们所关注的/etc/shadow文件位于名为state.tgz的压缩存档中,该存档位于/dev/sda5下。
所以,这就是我们需要做的。
- 下载Live Linux CD/DVD。从这个列表中选择。我选择了Centos 7。
- 使用Live CD/DVD刻录USB或CD/DVD,然后启动主机。
- 挂载/dev/sda5并将state.tgz复制到临时文件夹。
- 解压缩state.tgz并编辑影子文件。
- 重新压缩存档并用它覆盖state.tgz
- 卸载并重新启动主机。
第一步:从Centos 7官网下载相关镜像。保存在本地,然后有两种方法可以使用Centos镜像将Server引导起来,第一种就是平常使用的,将Centos IOS镜像文件使用UltraIOS(中文名叫软碟通)写入的U盘,然后使用U盘引导server启动。此方法适用于所有设备。第二种方法就是比较专业的,真正的Server中才会有的远程管理卡。比如:Dell的叫做iDRAC,CISCO的UCS叫做CIMC(Cisco Integrated Management Controller)等,使用远程管理卡中的JAVA控制台,将IOS虚拟成一个CD来引导系统,此方法对网络要求高,但是不用去现场,比如我这次使用的就是CIMC,server在印度的班加罗尔,但是我在中国大陆。
进入CentOS7系统安装界面
进入救援模式
4、救援模式下,挂载磁盘
- mkdir /mnt/sda5
- mount /dev/sda5 /mnt/sda5
- cp /mnt/sda5/state.tgz /tmp/.
- cd /tmp
- tar xvfz state.tgz
- tar xvfz local.tgz
- vi /tmp/etc/shadow
把类似如下图root开头,键盘上下左右键,把光标移动到第1个冒号后面,按"x"键,把画红线内容给清除掉,
完成后如下图,然后 按 "ESC" 输入:wq 回车就保存退出了。不要忽略了冒号(:)此冒号也是命令的一部分。
5、把文件恢复原样,拷回原位
- rm -f *.tgz
- tar cf local.tgz etc
- tar cf state.tgz local.tgz
- cp state.tgz /mnt/sda5/.
- umount /mnt/sda5
- reboot
6. 重启后密码就清空了。
注意在第五步中的重启时需要移除Centos的引导,直接使用ESXi 6.5引导系统即可,等开机后按F2进入输入密码的界面,密码为空直接按回车即可进入ESXi。
No comments:
Post a Comment