iLO: forcer le mot de passe Administrator sans rebooter le serveur et autres choses
Les cartes iLO facilitent la vie de l’administrateur, elles permettent de faire énormément de choses à distance et parfois nous sauvent la mise.
Il arrive que l’on n’ait pas le mot de passe de l’utilisateur ‘Administrator‘, quand on a un accès physique à la machine et qu’on a possibilité de la rebooter ce n’est pas un problème, quand la machine est à Tokyo c’est plus ennuyeux, il faut faire un ticket auprès de l’hébergeur et le technicien d’astreinte ne connaît pas nécessairement la procédure.
L’utilitaire hponcfg
L’utilitaire hponcfg est un utilitaire de scripts qui permet de réaliser toutes les opérations sur la carte iLO locale, il faut être ‘root’ sur le serveur et il n’est pas nécessaire de connaître le mot de passe ‘Administrator‘ de la carte iLO. Il utilise des scripts au format XML, recherchez « HPE iLO 4 Scripting and Command Line Guide » dans votre moteur de recherche habituel pour la description complète du langage de scripts.
Sur le site de support de HPE recherchez « iLO4 » puis
- Logiciel – Lights-Out Management
- HP Lights-Out Online Configuration Utility for Linux (AMD64/EM64T)
- Téléchargez « hponcfg-4.6.0-0.x86_64.rpm » (ou une version ultérieure)
- Transférer le fichier .rpm dans le répertoire /tmp de votre serveur cible.
Il n’est pas nécessaire d’installer le RPM, pour cela on utilise rpm2cpio et cpio:
mkdir /tmp/hponcfg && cd /tmp/hponcfg && rpm2cpio /tmp/hponcfg-4.6.0-0.x86_64.rpm | cpio -idmv --no-absolute-filenames
Ensuite on peut appeler hponcfg, si on ne passe aucun paramètre, on doit avoir la version du firmware de la carte ainsi que le message d’aide:
LD_LIBRARY_PATH=/tmp/hponcfg/usr/lib64/:$LD_LIBRARY_PATH ./sbin/hponcfg<br> HP Lights-Out Online Configuration utility Version 4.6.0 Date 09/28/2015 (c) Hewlett-Packard Company, 2015 Firmware Revision = 2.30 Device type = iLO 4 Driver name = hpilo USAGE: hponcfg -? hponcfg -h hponcfg -m minFw hponcfg -r [-m minFw ] hponcfg [-a] -w filename [-m minFw] hponcfg -g [-m minFw] hponcfg -f filename [-l filename] [-s namevaluepair] [-v] [-m minFw] hponcfg -i [-l filename] [-s namevaluepair] [-v] [-m minFw] -h, --help Display this message -? Display this message -r, --reset Reset the Management Processor to factory defaults -b, --reboot Reboot Management Processor without changing any setting -f, --file Get/Set Management Processor configuration from "filename" -i, --input Get/Set Management Processor configuration from the XML input received through the standard input stream. -w, --writeconfig Write the Management Processor configuration to "filename" -a, --all Capture complete Management Processor configuration to the file. This should be used along with '-w' option -l, --log Log replies to "filename" -v, --xmlverbose Display all the responses from Management Processor -s, --substitute Substitute variables present in input config file with values specified in "namevaluepairs" -g, --get_hostinfo Get the Host information -m, --minfwlevel Minimum firmware leve
Forcer le mot de passe de l’utilisateur Administrator
Pour forcer le mot de passe de l’utilisateur ‘Administator‘ il suffit de créer le script XML et d’appeler hponcfg, notez que le mot de passe courant de Administrator est laissé vide il n’est pas nécessaire et dans notre cas on ne le connaît pas, mettez le mot de passe que vous souhaitez forcer:
cat << EOF > RESET_ADMIN_PASSWORD.xml <ribcl VERSION="2.0"> <login USER_LOGIN="Administrator" PASSWORD=""> <user_INFO MODE="write"> <mod_USER USER_LOGIN="Administrator"> <password value="NouveauP@ss#"/> </mod_USER> </user_INFO> </login> </ribcl> EOF LD_LIBRARY_PATH=/tmp/hponcfg/usr/lib64/:$LD_LIBRARY_PATH ./sbin/hponcfg -f RESET_ADMIN_PASSWORD.xml
Récupérer l’adresse IP courante de la carte iLO
Outre un problème de mot de passe, une des causes courantes de problème avec les cartes iLO est qu’on a pas toujours leur adresse IP sous la main, même si elle est théoriquement dans le dossier de site:
cat << EOF > GET_NETWORK_SETTINGS.xml <RIBCL VERSION="2.0"> <LOGIN USER_LOGIN="Administrator" PASSWORD=""> <RIB_INFO MODE="read"> <GET_NETWORK_SETTINGS/> </RIB_INFO> </LOGIN> </RIBCL> EOF LD_LIBRARY_PATH=/tmp/hponcfg/usr/lib64/:$LD_LIBRARY_PATH ./sbin/hponcfg -f GET_NETWORK_SETTINGS.xml HP Lights-Out Online Configuration utility Version 4.6.0 Date 09/28/2015 (c) Hewlett-Packard Company, 2015 Firmware Revision = 2.30 Device type = iLO 4 Driver name = hpilo <GET_NETWORK_SETTINGS> .../... <MAC_ADDRESS VALUE="9c:b6:54:8f:23:1e"/> <IP_ADDRESS VALUE="10.0.0.1"/> <SUBNET_MASK VALUE="255.255.255.0"/> <GATEWAY_IP_ADDRESS VALUE="10.0.0.254"/> .../... </GET_NETWORK_SETTINGS> Script succeeded
Vérifier la version du firmware de la carte iLO
cat << EOF > GET_FW_VERSION.xml <RIBCL VERSION="2.0"> <LOGIN USER_LOGIN="Administrator" PASSWORD=""> <RIB_INFO MODE="read"> <GET_FW_VERSION/> </RIB_INFO> </LOGIN> </RIBCL> EOF LD_LIBRARY_PATH=/tmp/hponcfg/usr/lib64/:$LD_LIBRARY_PATH ./sbin/hponcfg -f GET_FW_VERSION.xml HP Lights-Out Online Configuration utility Version 4.6.0 Date 09/28/2015 (c) Hewlett-Packard Company, 2015 Firmware Revision = 2.50 Device type = iLO 4 Driver name = hpilo <GET_FW_VERSION FIRMWARE_VERSION = "2.50" FIRMWARE_DATE = "Sep 23 2016" MANAGEMENT_PROCESSOR = "iLO4" LICENSE_TYPE = "iLO Standard" /> Script succeeded
Mettre à jour le firmware de la carte iLO
cat << EOF > UPDATE_RIB_FIRMWARE.xml <RIBCL VERSION="2.0"> <LOGIN USER_LOGIN="Administrator" PASSWORD=""> <RIB_INFO MODE="write"> <UPDATE_RIB_FIRMWARE IMAGE_LOCATION="/tmp/ilo4_250.bin"/> </RIB_INFO> </LOGIN> </RIBCL> EOF LD_LIBRARY_PATH=/tmp/hponcfg/usr/lib64/:$LD_LIBRARY_PATH ./sbin/hponcfg -f UPDATE_RIB_FIRMWARE.xml HP Lights-Out Online Configuration utility Version 4.6.0 Date 09/28/2015 (c) Hewlett-Packard Company, 2015 Firmware Revision = 2.30 Device type = iLO 4 Driver name = hpilo <INFORM>Firmware flash starting.</INFORM> <INFORM>Firmware flash in progress [2%].</INFORM> <INFORM>Firmware flash in progress [10%].</INFORM> .../... <INFORM>Firmware flash in progress [97%].</INFORM> <INFORM>Firmware flash in progress [99%].</INFORM> <INFORM>Firmware flash completed successfully. iLO 4 reset initiated.</INFORM> Script succeeded
Si vous être également connecté à l’interface web de carte iLO dans l’onglet ‘Maintenance->Firmware‘ vous verrez également la barre de progression, comme toutes les barres de progression elle est parfois capricieuse, surtout au début, donc pas de panique.