nach ssh-login auswerte ob passwortabfrage komt oder nicht

C

chaser

Grünschnabel
Hallo Leute,

ich möchte folgendes mittels eines Scripts folgendes automatisieren.

In meinem Shell-Script befindet sich ein Array mit IP-Adressen.

Ich möchte durch das Array laufen und eine ssh Verbindung zu jeder Adresse mittels keyfile aufbauen lassen.
(Ist im Shell Script bereits testweise implementiert)

- Wenn die Passwortabfrage kommt soll in die angewählte IP in die Datei SSH-fehler.txt geschrieben werden.
- Wenn der ssh-Login per keyfile ohne Passwortabfrage klappt soll die angewählte IP in die Datei SSH-korrekt.txt geschrieben werden.

Ein Kollege wies mich darauf hin, dass man eventuell mittel expect-Script bei erscheinen der Passwortabfrage einen error-code zurückgeben lassen könnte und diesen dann auswertet.
Ich habe bisher nur ein wenig shell-script Erfahrung; expect-Script ist komplettes Neuland für mich.

Bei meinen bisherigen Versuchen das Problem mittels expect-script zu lösen stieß ich bereits bei der Anwahl über SSH mit Keyfile auf einen Fehler.

Ansatz im expect-Script:
Code:
#!/usr/bin/expect
IPadressen_gesamt=([2]= 1.1.1.1 2.2.2.2) #Array steht im Shell-Script

for i=0  in ${IPadressen_gesamt[*]}
do		
spawn ssh -i /usr/local/.ssh/id_??? user@$i
expect "Password:"
{
send ""
}
return 1;
							
if $?!=0
then
echo $i"nicht korrekt für SSH-Login konfiguriert" >> ssh_login_fehler.txt
else
echo $i" für SSH-Login konfiguriert" >> ssh_login_konfiguriert.txt
fi
done

Gibt es auch eine Möglichkeit das Problem ohne expect-Script zu lösen, da ich im Internet weder eine Anleitung noch irgend eine Art von Handbuch zu diesem Thema finde, nur einzelne Skripts die mich nicht weiterbringen.

Vielen Danke für die Hilfe im vorraus.
 

Ähnliche Themen

NAS-Drive Mount in Bash-Script über crontab

mittels if abfrage datei nach variabelnwert durchsuchen

ssh-client von root-server zu root-server verbinden

SSH Login via Shell Script?

Firewall regel

Zurück
Oben