SSH-Kommandos auf mehreren Maschinen mit nur einem Befehl ausführen

Auf mehreren SSH kompatiblen Maschinen soll ein oder mehrere Befehle ausgeführt werden ohne das ein Infrastruktur bzw. Administrationstool hierfür zur Verfügung steht.

Erstellt eine Datei, in die ihr die Maschinennamen bzw. IP-Adressen einfügt, auf die ihr euch per SSH verbinden möchtet:

### Legt eine Datei an
vi ~./remote_machines

### Befüllt diese Datei mit den zu erreichenden Maschinen
ubuntu-pc
uuntu-server
192.168.50.50

Wichtig ist, dass die Maschinen untereinander geschrieben werden. Der folgende Befehl liest nun die Maschinen der Datei ~./remote_machines ein, verbindet sich als root auf diese Maschinen und führt dort den Befehl reboot aus, startet die Maschinen also neu:

for i in `cat ~./remote_machines`; do ssh -o StrictHostKeyChecking=no root@$i 'reboot'; done

Idealerweise ist bereits ein SSH-Key auf den Zielmaschinen vorhanden, sodass nicht bei jedem Verbindungsversuch ein Eingabeprompt erscheint, der ein Passwort erwartet.

Kommentar verfassen

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

Nach oben scrollen