• Willkommen im Linux Club - dem deutschsprachigen Supportforum für GNU/Linux. Registriere dich kostenlos, um alle Inhalte zu sehen und Fragen zu stellen.

SSH in eine while Schleife

Fantajoe

Newbie
Hallo,

ich müsste eine Datei mit IP Adressen auslesen und jeweils eine SSH Verbindung aufbauen um einen Befehl abzusetzen.

Code:
while read IP
do
   echo "Abfrage der IP $IP"
   ssh  -i ~/.ssh/id_rsa_syscheck user@$IP  $HOME/systemcheck/system.sh


done < /usr/local/cron/systemcheck/server


in Server stehen die ip's Zeilenweise.

wenn ich die SSH Zeile auskommentiere, wird mir der Dateiinhalt aufgelistet.
Mit der SSH Abfrage hört er nach der ersten Verbindung auf.

Hat jemand eine Idee ??
 
Du liest von stdin UND ssh liest von stdin. Das kann nicht funktionieren.

Code:
# ssh -ni ~/.ssh/id_rsa_blah_blah
ist die Lösung

Gruß
Gräfin Klara
 

marce

Guru
alternativ ein
Code:
for i in $(cat $datei_mit_hosts)
do
  ssh ${i} "/da/könnte/ihr/script/stehen"
done

... oder man verwendet ein passendes Tool, welches für Multi-Host-Gedöhns gemacht wurde. Sei es Cluster-SSH, pssh - oder gleich sowas wie ansible.
 
Oben