Diese Website existiert nur weil wir Werbung mit AdSense ausliefern.
Bitte den AdBlocker daher auf dieser Website ausschalten! Danke.

SSH in eine while Schleife

Alles rund um die verschiedenen Konsolen und shells sowie die Programmierung unter Linux

Moderator: Moderatoren

Antworten
Fantajoe
Newbie
Newbie
Beiträge: 18
Registriert: 3. Mär 2008, 08:18

SSH in eine while Schleife

Beitrag von Fantajoe » 5. Apr 2019, 11:44

Hallo,

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

Code: Alles auswählen

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 ??
Zuletzt geändert von tomm.fa am 5. Apr 2019, 19:06, insgesamt 1-mal geändert.
Grund: Code-Tags gesetzt (siehe dazu auch: https://linux-club.de/forum/viewtopic.php?f=92&t=105750).

Werbung:
Gräfin Klara
Hacker
Hacker
Beiträge: 413
Registriert: 23. Jun 2008, 20:51

Re: SSH in eine while Schleife

Beitrag von Gräfin Klara » 5. Apr 2019, 12:54

Du liest von stdin UND ssh liest von stdin. Das kann nicht funktionieren.

Code: Alles auswählen

# ssh -ni ~/.ssh/id_rsa_blah_blah

ist die Lösung

Gruß
Gräfin Klara
Zuletzt geändert von gehrke am 5. Apr 2019, 17:24, insgesamt 1-mal geändert.
Grund: Bitte zukünftig <code>-Tags verwenden - https://linux-club.de/forum/viewtopic.php?f=92&t=105750

marce
Advanced Hacker
Advanced Hacker
Beiträge: 1149
Registriert: 19. Jun 2008, 13:16
Wohnort: Dettenhausen
Kontaktdaten:

Re: SSH in eine while Schleife

Beitrag von marce » 5. Apr 2019, 13:35

alternativ ein

Code: Alles auswählen

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.

Antworten