我希望批量重置HP刀片式机箱上的所有iLO密码,而无需通过HTTPS网站login到每个密码。 如何通过SSH命令行重置根和pipe理员iLO密码?
您可以从HP Onboard Administrator将所有内容都放在一个地方。
通过GUI,HPOA可以无密码地访问单个服务器ILO接口。
通过CLI,您可以使用一个iloconfig.xml文件HPONCFG ALL HTTP://some.host.ip/iloconfig.xml来照顾所有设备。
我简化了脚本,并更改了所有的iLO密码:
IPs=`echo 10.0.0.{1..254}` for ip in $IPs do echo Starting $ip sshpass -p 'PWOLD' ssh -o StrictHostKeyChecking=no -l Administrator $ip "set /map1/accounts1/Administrator password=PWNEW" done
奇迹般有效! 很多优秀的例子! (带有IP的错字已更正!)
我发现最快的方法是使用SSHPASS和iLO命令行界面的组合。 下面的bash脚本为使用名为oldlogin和newlogin创build了两个别名,然后使用这些别名login到iLO,重置root帐户,然后使用新密码login并重置pipe理员帐户。
alias oldlogin="sshpass -p 'OldP@ssword' ssh -o StrictHostKeyChecking=no -l root " alias newlogin="sshpass -p 'NewP@ssword' ssh -o StrictHostKeyChecking=no -l root " IPs=`echo 10.0.0.{100..125}` #$IPs is a list of IP addresses from 10.0.0.100-125 for ip in $IPs #Run command to update root login to new password do echo Starting $ip oldlogin $ip "set /map1/accounts1/root password=NewP@ssword" done for ip in $IPs #Run command to login with new root password and update administrator account do echo Starting $ip newlogin $ip "set /map1/accounts1/administrator password=NewP@ssword" done
我看到/map1/accounts/而不是/map1/accounts1/的引用,但是在我的系统上不起作用。 您可以通过SSHlogin并使用show map1查看所有可用目标的列表。 输出应该是这样的:
root@localhost /usr/bin $ for ip in $IPs > do > echo Starting $ip > oldlogin $ip "set /map1/accounts1/root password=NewP@ssword" > done Starting 10.0.0.100 set /map1/accounts1/root password=NewP@ssword status=0 status_tag=COMMAND COMPLETED ... omitted ... Starting 10.0.0.125 set /map1/accounts1/root password=NewP@ssword status=0 status_tag=COMMAND COMPLETED root@localhost /usr/bin $ for ip in $IPs > do > echo Starting $ip > newlogin $ip "set /map1/accounts1/administrator password=NewP@ssword" > done Starting 10.0.0.100 set /map1/accounts1/administrator password=NewP@ssword status=0 status_tag=COMMAND COMPLETED ... omitted ... Starting 10.0.0.125 set /map1/accounts1/administrator password=NewP@ssword status=0 status_tag=COMMAND COMPLETED