Skrypt bash do masowej konfiguracji HP Onboard Administratorów

Przychodzi taki dzień, gdy musimy w całej infrastrukturze wdrożyć HP SIM-a. Wtedy przychodzą nowe wymagania, na przykład dobrze jest, gdy obudowy c3000/c7000, a dokładniej moduły OA odpowiadają na żądania XML-a. Mając 5-10 obudów, to nie problem, ale gdy mamy ich całe mnóstwo, zaczynamy myśleć o tym, jak to zautomatyzować i zaoszczędzić sobie pracy.

Zakładam, że przy dodawaniu każdej obudowy do infrastruktury, ktoś dodał już klucz SSH, z użyciem którego będzie można się zalogować do obudowy automatycznie. Jeżeli tak nie jest, na razie proszę przejść niżej.

#!/bin/bash
echo "Podaj komende jaka chcesz wykonac na wszystkich obudowach c3000/c7000 HP";
read "Command";

if [ -z "${Command}" ]; then { echo "Pusty argument, musi byc podana komenda!"; exit 0; } fi

if [ ! -d "DATA" ]; then { mkdir DATA; echo "Tworze katalog DATA"; } fi

GroupOfChassis='10.0.0.101 10.0.0.201 10.0.1.101 10.0.1.201';

for Chassis in ${GroupOfChassis}; do
        echo ${Command} | ssh ${Chassis} -l Administrator -i /home/przemek/.ssh/DoHPOA_rsa >> DATA/${Chassis};
done

Skrypt trzeba jeszcze jakoś nazwać i zapisać jako .sh i dodać mu uprawnienia do uruchamiania, niech będzie AtAllChassis.sh. Żeby włączyć wspomniane na początku wpisu odpowiedzi na XML w komendzie do wykonania podajemy

ENABLE XMLREPLY

Dla administratorów, którzy nie mają wszędzie umieszczonego klucza SSH, tutaj zamieszczam substytut dla skryptu, z użyciem którego można dodać swój klucz SSH do wszystkich obudów blade-owych HP, jednak wymaga zalogowania się na każdą obudowę po SSH loginem i hasłem.

set script mode on
add sshkey XXXX
ssh-rsa DANEKLUCZAofnsdionfisdonfsio komentarznaprzykladuzytkownik@maszyna
XXXX
set script mode off