2 Stimmen

Wie kann man eine Zeitüberschreitung erwarten, wenn man versucht, sich bei einer erzeugten ssh-Sitzung anzumelden?

Ich schreibe ein Bash-Skript, das expect verwendet, um sich bei einer Reihe von Cisco ASAs anzumelden (sie unterstützen keine Zertifikatsanmeldung, daher die Verwendung von expect), nimmt eine Änderung an der Konfiguration vor und meldet sich dann ab.

Ich möchte, dass das Skript zum nächsten ASA weitergeht, wenn es sich nicht anmelden kann.

Hier ist das Skript:

#!/bin/bash
# Scriptname: set-mtu
for asa in $(cat asa-list-temp)
do
        /usr/bin/expect << EndExpect
                spawn ssh admin_15@$asa
                expect "assword:"
                send "pa$$w0rd\r"
                expect ">"
                send "do something\r"
                expect ">"
                send "exit\r"
EndExpect
done

Ich denke, ich kann eine Zeitüberschreitung für expect "assword:" aber ich kann nicht herausfinden, wie ich es dazu bringe, die erzeugte ssh-Sitzung zu schließen und dann zum nächsten ASA in der for-Liste überzugehen.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X