Eu descobri que o caminho mais rápido era usar uma combinação de SSHPASS e a interface de linha de comando do iLO. O script bash abaixo cria dois aliases para usar o SSHPASS chamado oldlogin
e newlogin
e, em seguida, usa-os para efetuar login no iLO, redefinir a conta root, depois fazer login com a nova senha e redefinir a conta do administrador.
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
Eu vi uma referência a /map1/accounts/
em vez de /map1/accounts1/
, mas isso não funcionou nos meus sistemas. Você pode fazer o login via SSH e usar show map1
para ver uma lista de todos os destinos disponíveis. A saída deve ser algo como isto:
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