netlinker
03-12-2004, 18:27
Hallo,
ich möchte mich automatisch auf einen Router einlogen, dazu muss ich mich aber mein Passwort mit s/key erzeugen. Dieses würde ich gern automatisieren.
Das Tool sieht so aus:
# key 7760 zd48205
Enter secret password: test
IQ LISA HIKE MOW WANE YALE <=== Diesen Werte brauche ich
Hier der Auszug aus meinen Expect-Script (an dieser Stelle hat das Script bereits ein Telent auf das System, auf dem das s/key-Tool ist geöffnet)
# Wird normalerweise dynamisch vergeben
set key "key 7760 zs48205"
expect {
"*" { send "$key\r" } }
expect {
"*password*" { send "$pass\r" } }
Hier jetzt mein Problem:
Ich müsste auf die Ausgabe matchen, diese ist immer in Großbuchstaben und besteht aus sechs Wörtern.
Daher habe ich eigentlich gedacht A-Z zu nehmen, aber er matcht nicht :mad:
expect {
-re "\\\[A-Z].*" { set skey_pass $expect_out(0,string) } }
echo "$skey_pass"
Vielleicht habt ihr ja eine Idee, was nach -re rein muss.
Bye Björn
ich möchte mich automatisch auf einen Router einlogen, dazu muss ich mich aber mein Passwort mit s/key erzeugen. Dieses würde ich gern automatisieren.
Das Tool sieht so aus:
# key 7760 zd48205
Enter secret password: test
IQ LISA HIKE MOW WANE YALE <=== Diesen Werte brauche ich
Hier der Auszug aus meinen Expect-Script (an dieser Stelle hat das Script bereits ein Telent auf das System, auf dem das s/key-Tool ist geöffnet)
# Wird normalerweise dynamisch vergeben
set key "key 7760 zs48205"
expect {
"*" { send "$key\r" } }
expect {
"*password*" { send "$pass\r" } }
Hier jetzt mein Problem:
Ich müsste auf die Ausgabe matchen, diese ist immer in Großbuchstaben und besteht aus sechs Wörtern.
Daher habe ich eigentlich gedacht A-Z zu nehmen, aber er matcht nicht :mad:
expect {
-re "\\\[A-Z].*" { set skey_pass $expect_out(0,string) } }
echo "$skey_pass"
Vielleicht habt ihr ja eine Idee, was nach -re rein muss.
Bye Björn