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:
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.
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.