Probleme mit der expect-send: spawn id exp4 nicht öffnen
Mein erwarten-code bedeutet dies: Es muss eine ssh-Verbindung zu einem anderen Computer sendet das Passwort und gibt dann die Hostnamen der Maschine. Ich gebe ein Beispiel von meinem code unten
#!/usr/bin/expect-f
set ipaddr [lrange $argv 0 0]
set password [lrange $argv 1 1]
set timeout -1
spawn ssh root@$ipaddr hostname
match_max 100000
erwarten "*assword:*"
senden -- "$password\r"
erwarten eof
Dieser code läuft perfekt viele Male, aber zeitweise bekomme ich die folgende Fehlermeldung
senden: spawn id exp4 nicht öffnen
während der Ausführung
"send -- "$password\r""
Warum ist das passiert?
send: spawn id exp4 not open
impliziert, dass die ssh root@$ipaddr hostname
fehlgeschlagen ist oder geschlossen wird, bevor die send
abgeschlossen werden kann.Danke....erkunden
was ich wissen möchte ist zu prüfen, wie die spawn-id, um zu sehen, ob es offen oder nicht?
InformationsquelleAutor Ninja | 2009-09-07
Du musst angemeldet sein, um einen Kommentar abzugeben.
Herausgefunden, warum.
Ich hatte generierten ssh-Schlüssel und kopiert Sie auf den Zielrechner. Es gab also keine "Passwort:" - prompt. Daher vor dem senden könnte, die ssh-Verbindung geschlossen hatte.
Löschte ich die ssh-Schlüssel aus dem Ziel-Rechner ran und das Skript erneut und konnte keine Probleme
InformationsquelleAutor Ninja