本文由 ku链接 вт989点сс 原创,很多时候遇到特殊状况,我们会提供ESXi 的管理员密码给其他人,协同系统管理员一起解决问题。
今天就来介绍如何批次将ESXi 密码进行变更
首先,找台Ubuntu 伺服器安装expect 套件。
sudo apt- get install expect
建立变更密码的脚本
vi changepwd. sh
#!/usr/bin/expect
set ipaddress [lindex $argv 0]
set user [lindex $argv 1]
set oldpasswd [lindex $argv 2]
set newpasswd [lindex $argv 3]
spawn ssh -o StrictHostKeyChecking=no $user @ $ipaddress
expect "*assword:"
send " $oldpasswd \r"
expect "*#"
send "passwd $user \r"
expect "*assword:"
send " $newpasswd \r"
expect "*assword:"
send " $ newpasswd \r"
expect "*#"
send "exit\r"
提供脚本执行权限
chmod +x changepwd.sh
在Ubuntu 执行指令如下,就可以远端变更ESXi 密码。
记得将ESXi 的SSH 服务启动
./changepwd.sh esxi_ip_address user oldpasswd newpasswd
接下我们还要进行验证新的密码是否能顺利登入
建立远端登入的脚本
vi checkpwd. sh
# !/ usr / bin / expect
set ipaddress [lindex $argv 0 ]
set user [lindex $argv 1 ]
set newpasswd [lindex $argv 2 ]
spawn ssh - o StrictHostKeyChecking = no $user @ $ipaddress
expect "*assword:"
send "$newpasswd \r "
expect "*#"
send "exit \r "
提供脚本执行权限
chmod +x checkpwd.sh
在Ubuntu 执行指令如下,验证新密码可正常登入。
./changepwd.sh ipaddress user newpasswd
为了避免悲剧发生,我个人习惯会在ESXi 建立另外一组管理员密码。万一真的发生问题,至少还可以透过预备的管理员帐号进行救援。
我们就可以在Excel 整理好大量的变更与验证指令,直接贴上让它批次执行即可。不过还是比较建议分批进行贴上,若发生错误比较容易知道执行到哪边。
如此一来,上百台的ESXi 只需要十几分钟就可以变更密码。今天的介绍就到这边,感谢收看。