und ab hier jetzt GregorS' unveränderter Beitrag:smutbert hat geschrieben:14.01.2023 22:56:16Du könntest mit ping prüfen ob eine IP-Adresse erreichbar istversucht einmal die IP-Adresse anzupingen, wartet maximal 3 Sekunden auf eine Antwort und liefert einen Rückgabewert ≠0, falls sie nicht erreichbar ist.Code: Alles auswählen
ping -c1 -w3 IP-Adresse
Ich mache etwas ähnliches mit ssh selbst, weil ssh auch prüft ob der Server der ist, für den man ihn hält bzw. für den er sich ausgibt. Das ist aber nur bei Authentifizierung mittels Schlüssel praktikabel, weil man sonst im Laufe des Skripts eventuell 3 Mal das ssh-Passwort eingeben muss.
Für den Rückgabewert von ssh gilt im wesentlichen dasselbe, wenn man ssh nur true ausführen lässt:(Wenn man sich direkt erfolgreich interaktiv anmeldet, wird von ssh der Rückgabewert der Shell zurückgegeben und dadurch fehlt eine verlässliche Information ob die Verbindung über ssh funktioniert hat.)Code: Alles auswählen
ssh IP-Adresse true
Auf den Rückgabewert kann man mit if wie gewünscht reagierenwürde zum Beispiel prüfen ob ssh sich mit der IP-Adresse verbinden kann, falls ja das tun und sich danach beenden.Code: Alles auswählen
if ssh IP-Adresse true ; then ssh IP-Adresse exit 0 fi
Das ganze ließe sich auch kürzer schreibe und je nach Zweck auch eleganter, aber vielleicht ist das einmal ein gut verständlicher Anfang?
Könntest Du das konkret ausführen? Ich habe es probiert, bin aber an der Tatsache gescheitert, dass ich nicht weiß, wie ich die Rückgabe von ping auswerten soll. Echt saudämlich und irgendwie symptomatisch für den Niedergang von Linux ist, dass ping trotz „-q“ (qiet) eine Textausgabe bringt.
Könntest Du auch sagen, wie das geht? Die Vorgehensweise ist mir nicht klar, und egal, wie ich ssh-add u.Co. einsetze, es will einfach nicht funktionieren.... Das ist aber nur bei Authentifizierung mittels Schlüssel praktikabel, ...
Gruß
Gregor