haussli / rancid

RANCiD
Other
114 stars 42 forks source link

Support for Cisco Catalyst 9800 WLAN controllers (IOS XE 17.3.x) #46

Open nies-ch opened 2 years ago

nies-ch commented 2 years ago

Hello,

Rancid seems not to match the prompt correctly at login via SSH as it has two preceeding empty lines "\r\n\r\n" after motd banner and before the prompt.

[rancid@backuphost ~]$ ssh rancid@wlc1.example.com Password:

wlc1>enable Password: wlc1#

Debug output of clogin:

[rancid@backuphost ~]$ clogin -d wlc1.example.com wlc1.example.com spawn ssh -i /mnt/backup/rancid/.ssh/id_rsa -x -l rancid wlc1.example.com parent: waiting for sync byte parent: telling child to go ahead parent: now unsynchronized from child spawn: returns {821186} Gate keeper glob pattern for '^<-+ More -+>[^ ]' is ''. Not usable, disabling the performance booster. Gate keeper glob pattern for '(Connection refused|Secure connection [^ ]+ refused)' is ''. Not usable, disabling the performance booster. Gate keeper glob pattern for '(Connection closed by|Connection to [^ ]+ closed)' is ''. Not usable, disabling the performance booster. Gate keeper glob pattern for '(Host key not found |The authenticity of host . be established)' is ''. Not usable, disabling the performance booster. Gate keeper glob pattern for 'HOST IDENTIFICATION HAS CHANGED' is 'HOST IDENTIFICATION HAS CHANGED'. Activating booster. Gate keeper glob pattern for 'Offending key for ' is 'Offending key for '. Activating booster. Gate keeper glob pattern for '^warning: remote host denied authentication agent forwarding.' is 'warning: remote host denied authentication agent forwarding?'. Activating booster. Gate keeper glob pattern for '(denied|Sorry)' is ''. Not usable, disabling the performance booster. Gate keeper glob pattern for 'last login:' is 'last login:'. Activating booster. Gate keeper glob pattern for 'failed login:' is 'failed login:'. Activating booster. Gate keeper glob pattern for '% (Bad passwords|Authentication failed)' is ''. Not usable, disabling the performance booster. Gate keeper glob pattern for 'Enter Selection: ' is 'Enter Selection: '. Activating booster. Gate keeper glob pattern for 'Press the key [^ ]+[ ]+' is 'Press the key '. Activating booster. Gate keeper glob pattern for '@[^ ]+ ([Pp]assword|passwd|Enter password for [^ :]+):' is ''. Not usable, disabling the performance booster. Gate keeper glob pattern for 'Enter passphrase.: ' is 'Enter passphrase: '. Activating booster. Gate keeper glob pattern for '([Uu]sername|[Ll]ogin|[Uu]ser [Nn]ame|User):' is ''. Not usable, disabling the performance booster. Gate keeper glob pattern for '([Pp]assword|passwd|Enter password for [^ :]+):' is ''. Not usable, disabling the performance booster. Gate keeper glob pattern for '(>|#| (enable))' is ''. Not usable, disabling the performance booster. Gate keeper glob pattern for '[^ ][ ]+' is ''. Not usable, disabling the performance booster.

expect: does "" (spawn_id exp6) match regular expression "^<-+ More -+>[^\n\r]*"? (No Gate, RE only) gate=yes re=no "(Connection refused|Secure connection [^\n\r]+ refused)"? (No Gate, RE only) gate=yes re=no "(Connection closed by|Connection to [^\n\r]+ closed)"? (No Gate, RE only) gate=yes re=no

expect: does "" (spawn_id exp6) match glob pattern "unknown host\r"? no

expect: does "" (spawn_id exp6) match glob pattern "Host is unreachable"? no "No address associated with name"? no "(Host key not found |The authenticity of host .* be established)"? (No Gate, RE only) gate=yes re=no "HOST IDENTIFICATION HAS CHANGED"? Gate "HOST IDENTIFICATION HAS CHANGED"? gate=no "Offending key for "? Gate "Offending key for "? gate=no

expect: does "" (spawn_id exp6) match regular expression "^warning: remote host denied authentication agent forwarding."? Gate "warning: remote host denied authentication agent forwarding?"? gate=no

expect: does "" (spawn_id exp6) match regular expression "(denied|Sorry)"? (No Gate, RE only) gate=yes re=no

expect: does "" (spawn_id exp6) match regular expression "last login:"? Gate "last login:"? gate=no "failed login:"? Gate "failed login:"? gate=no

expect: does "" (spawn_id exp6) match glob pattern "Login failed"? no "% (Bad passwords|Authentication failed)"? (No Gate, RE only) gate=yes re=no "Press any key to continue"? no "Enter Selection: "? Gate "Enter Selection: "? gate=no "Press the key [^\r\n]+[\r\n]+"? Gate "Press the key "? gate=no "@[^\r\n]+ ([Pp]assword|passwd|Enter password for [^ :]+):"? (No Gate, RE only) gate=yes re=no "Enter passphrase.: "? Gate "Enter passphrase: "? gate=no "([Uu]sername|[Ll]ogin|[Uu]ser [Nn]ame|User):"? (No Gate, RE only) gate=yes re=no "([Pp]assword|passwd|Enter password for [^ :]+):"? (No Gate, RE only) gate=yes re=no "(>|#| (enable))"? (No Gate, RE only) gate=yes re=no "Login invalid"? no "[^\r\n][\r\n]+"? (No Gate, RE only) gate=yes re=no Password: expect: does "\rPassword: " (spawn_id exp6) match regular expression "^<-+ More -+>[^\n\r]*"? (No Gate, RE only) gate=yes re=no "(Connection refused|Secure connection [^\n\r]+ refused)"? (No Gate, RE only) gate=yes re=no "(Connection closed by|Connection to [^\n\r]+ closed)"? (No Gate, RE only) gate=yes re=no

expect: does "\rPassword: " (spawn_id exp6) match glob pattern "unknown host\r"? no

expect: does "\rPassword: " (spawn_id exp6) match glob pattern "Host is unreachable"? no "No address associated with name"? no "(Host key not found |The authenticity of host .* be established)"? (No Gate, RE only) gate=yes re=no "HOST IDENTIFICATION HAS CHANGED"? Gate "HOST IDENTIFICATION HAS CHANGED"? gate=no "Offending key for "? Gate "Offending key for "? gate=no

expect: does "\rPassword: " (spawn_id exp6) match regular expression "^warning: remote host denied authentication agent forwarding."? Gate "warning: remote host denied authentication agent forwarding?"? gate=no

expect: does "\rPassword: " (spawn_id exp6) match regular expression "(denied|Sorry)"? (No Gate, RE only) gate=yes re=no

expect: does "\rPassword: " (spawn_id exp6) match regular expression "last login:"? Gate "last login:"? gate=no "failed login:"? Gate "failed login:"? gate=no

expect: does "\rPassword: " (spawn_id exp6) match glob pattern "Login failed"? no "% (Bad passwords|Authentication failed)"? (No Gate, RE only) gate=yes re=no "Press any key to continue"? no "Enter Selection: "? Gate "Enter Selection: "? gate=no "Press the key [^\r\n]+[\r\n]+"? Gate "Press the key "? gate=no "@[^\r\n]+ ([Pp]assword|passwd|Enter password for [^ :]+):"? (No Gate, RE only) gate=yes re=no "Enter passphrase.: "? Gate "Enter passphrase*: "? gate=no "([Uu]sername|[Ll]ogin|[Uu]ser [Nn]ame|User):"? (No Gate, RE only) gate=yes re=no "([Pp]assword|passwd|Enter password for [^ :]+):"? (No Gate, RE only) gate=yes re=yes expect: set expect_out(0,string) "Password:" expect: set expect_out(1,string) "Password" expect: set expect_out(spawn_id) "exp6" expect: set expect_out(buffer) "\rPassword:" send: sending "xrJSg2-b6BA9o-9iV4qc\r" to { exp6 } expect: continuing expect

expect: does " " (spawn_id exp6) match regular expression "^<-+ More -+>[^\n\r]*"? (No Gate, RE only) gate=yes re=no "(Connection refused|Secure connection [^\n\r]+ refused)"? (No Gate, RE only) gate=yes re=no "(Connection closed by|Connection to [^\n\r]+ closed)"? (No Gate, RE only) gate=yes re=no

expect: does " " (spawn_id exp6) match glob pattern "unknown host\r"? no

expect: does " " (spawn_id exp6) match glob pattern "Host is unreachable"? no "No address associated with name"? no "(Host key not found |The authenticity of host .* be established)"? (No Gate, RE only) gate=yes re=no "HOST IDENTIFICATION HAS CHANGED"? Gate "HOST IDENTIFICATION HAS CHANGED"? gate=no "Offending key for "? Gate "Offending key for "? gate=no

expect: does " " (spawn_id exp6) match regular expression "^warning: remote host denied authentication agent forwarding."? Gate "warning: remote host denied authentication agent forwarding?"? gate=no

expect: does " " (spawn_id exp6) match regular expression "(denied|Sorry)"? (No Gate, RE only) gate=yes re=no

expect: does " " (spawn_id exp6) match regular expression "last login:"? Gate "last login:"? gate=no "failed login:"? Gate "failed login:"? gate=no

expect: does " " (spawn_id exp6) match glob pattern "Login failed"? no "% (Bad passwords|Authentication failed)"? (No Gate, RE only) gate=yes re=no "Press any key to continue"? no "Enter Selection: "? Gate "Enter Selection: "? gate=no "Press the key [^\r\n]+[\r\n]+"? Gate "Press the key "? gate=no "@[^\r\n]+ ([Pp]assword|passwd|Enter password for [^ :]+):"? (No Gate, RE only) gate=yes re=no "Enter passphrase.: "? Gate "Enter passphrase: "? gate=no "([Uu]sername|[Ll]ogin|[Uu]ser [Nn]ame|User):"? (No Gate, RE only) gate=yes re=no "([Pp]assword|passwd|Enter password for [^ :]+):"? (No Gate, RE only) gate=yes re=no "(>|#| (enable))"? (No Gate, RE only) gate=yes re=no "Login invalid"? no "[^\r\n][\r\n]+"? (No Gate, RE only) gate=yes re=no

expect: does " \r\n" (spawn_id exp6) match regular expression "^<-+ More -+>[^\n\r]*"? (No Gate, RE only) gate=yes re=no "(Connection refused|Secure connection [^\n\r]+ refused)"? (No Gate, RE only) gate=yes re=no "(Connection closed by|Connection to [^\n\r]+ closed)"? (No Gate, RE only) gate=yes re=no

expect: does " \r\n" (spawn_id exp6) match glob pattern "unknown host\r"? no

expect: does " \r\n" (spawn_id exp6) match glob pattern "Host is unreachable"? no "No address associated with name"? no "(Host key not found |The authenticity of host .* be established)"? (No Gate, RE only) gate=yes re=no "HOST IDENTIFICATION HAS CHANGED"? Gate "HOST IDENTIFICATION HAS CHANGED"? gate=no "Offending key for "? Gate "Offending key for "? gate=no

expect: does " \r\n" (spawn_id exp6) match regular expression "^warning: remote host denied authentication agent forwarding."? Gate "warning: remote host denied authentication agent forwarding?"? gate=no

expect: does " \r\n" (spawn_id exp6) match regular expression "(denied|Sorry)"? (No Gate, RE only) gate=yes re=no

expect: does " \r\n" (spawn_id exp6) match regular expression "last login:"? Gate "last login:"? gate=no "failed login:"? Gate "failed login:"? gate=no

expect: does " \r\n" (spawn_id exp6) match glob pattern "Login failed"? no "% (Bad passwords|Authentication failed)"? (No Gate, RE only) gate=yes re=no "Press any key to continue"? no "Enter Selection: "? Gate "Enter Selection: "? gate=no "Press the key [^\r\n]+[\r\n]+"? Gate "Press the key "? gate=no "@[^\r\n]+ ([Pp]assword|passwd|Enter password for [^ :]+):"? (No Gate, RE only) gate=yes re=no "Enter passphrase.: "? Gate "Enter passphrase: "? gate=no "([Uu]sername|[Ll]ogin|[Uu]ser [Nn]ame|User):"? (No Gate, RE only) gate=yes re=no "([Pp]assword|passwd|Enter password for [^ :]+):"? (No Gate, RE only) gate=yes re=no "(>|#| (enable))"? (No Gate, RE only) gate=yes re=no "Login invalid"? no "[^\r\n][\r\n]+"? (No Gate, RE only) gate=yes re=yes expect: set expect_out(0,string) " \r\n" expect: set expect_out(spawn_id) "exp6" expect: set expect_out(buffer) " \r\n" expect: continuing expect

expect: does "" (spawn_id exp6) match regular expression "^<-+ More -+>[^\n\r]*"? (No Gate, RE only) gate=yes re=no "(Connection refused|Secure connection [^\n\r]+ refused)"? (No Gate, RE only) gate=yes re=no "(Connection closed by|Connection to [^\n\r]+ closed)"? (No Gate, RE only) gate=yes re=no

expect: does "" (spawn_id exp6) match glob pattern "unknown host\r"? no

expect: does "" (spawn_id exp6) match glob pattern "Host is unreachable"? no "No address associated with name"? no "(Host key not found |The authenticity of host .* be established)"? (No Gate, RE only) gate=yes re=no "HOST IDENTIFICATION HAS CHANGED"? Gate "HOST IDENTIFICATION HAS CHANGED"? gate=no "Offending key for "? Gate "Offending key for "? gate=no

expect: does "" (spawn_id exp6) match regular expression "^warning: remote host denied authentication agent forwarding."? Gate "warning: remote host denied authentication agent forwarding?"? gate=no

expect: does "" (spawn_id exp6) match regular expression "(denied|Sorry)"? (No Gate, RE only) gate=yes re=no

expect: does "" (spawn_id exp6) match regular expression "last login:"? Gate "last login:"? gate=no "failed login:"? Gate "failed login:"? gate=no

expect: does "" (spawn_id exp6) match glob pattern "Login failed"? no "% (Bad passwords|Authentication failed)"? (No Gate, RE only) gate=yes re=no "Press any key to continue"? no "Enter Selection: "? Gate "Enter Selection: "? gate=no "Press the key [^\r\n]+[\r\n]+"? Gate "Press the key "? gate=no "@[^\r\n]+ ([Pp]assword|passwd|Enter password for [^ :]+):"? (No Gate, RE only) gate=yes re=no "Enter passphrase.: "? Gate "Enter passphrase: "? gate=no "([Uu]sername|[Ll]ogin|[Uu]ser [Nn]ame|User):"? (No Gate, RE only) gate=yes re=no "([Pp]assword|passwd|Enter password for [^ :]+):"? (No Gate, RE only) gate=yes re=no "(>|#| (enable))"? (No Gate, RE only) gate=yes re=no "Login invalid"? no "[^\r\n][\r\n]+"? (No Gate, RE only) gate=yes re=no

wlc1> expect: does "\r\n\r\nwlc1>" (spawn_id exp6) match regular expression "^<-+ More -+>[^\n\r]*"? (No Gate, RE only) gate=yes re=no "(Connection refused|Secure connection [^\n\r]+ refused)"? (No Gate, RE only) gate=yes re=no "(Connection closed by|Connection to [^\n\r]+ closed)"? (No Gate, RE only) gate=yes re=no

expect: does "\r\n\r\nwlc1>" (spawn_id exp6) match glob pattern "unknown host\r"? no

expect: does "\r\n\r\nwlc1>" (spawn_id exp6) match glob pattern "Host is unreachable"? no "No address associated with name"? no "(Host key not found |The authenticity of host .* be established)"? (No Gate, RE only) gate=yes re=no "HOST IDENTIFICATION HAS CHANGED"? Gate "HOST IDENTIFICATION HAS CHANGED"? gate=no "Offending key for "? Gate "Offending key for "? gate=no

expect: does "\r\n\r\nwlc1>" (spawn_id exp6) match regular expression "^warning: remote host denied authentication agent forwarding."? Gate "warning: remote host denied authentication agent forwarding?"? gate=no

expect: does "\r\n\r\nwlc1>" (spawn_id exp6) match regular expression "(denied|Sorry)"? (No Gate, RE only) gate=yes re=no

expect: does "\r\n\r\nwlc1>" (spawn_id exp6) match regular expression "last login:"? Gate "last login:"? gate=no "failed login:"? Gate "failed login:"? gate=no

expect: does "\r\n\r\nwlc1>" (spawn_id exp6) match glob pattern "Login failed"? no "% (Bad passwords|Authentication failed)"? (No Gate, RE only) gate=yes re=no "Press any key to continue"? no "Enter Selection: "? Gate "Enter Selection: "? gate=no "Press the key [^\r\n]+[\r\n]+"? Gate "Press the key "? gate=no "@[^\r\n]+ ([Pp]assword|passwd|Enter password for [^ :]+):"? (No Gate, RE only) gate=yes re=no "Enter passphrase.: "? Gate "Enter passphrase*: "? gate=no "([Uu]sername|[Ll]ogin|[Uu]ser [Nn]ame|User):"? (No Gate, RE only) gate=yes re=no "([Pp]assword|passwd|Enter password for [^ :]+):"? (No Gate, RE only) gate=yes re=no "(>|#| (enable))"? (No Gate, RE only) gate=yes re=yes expect: set expect_out(0,string) ">" expect: set expect_out(1,string) ">" expect: set expect_out(spawn_id) "exp6" expect: set expect_out(buffer) "\r\n\r\nwlc1>" send: sending "\r" to { exp6 } Gate keeper glob pattern for '[ ]+' is ''. Not usable, disabling the performance booster. Gate keeper glob pattern for '^(.+[:.])1 ((>|#| (enable)))' is ''. Not usable, disabling the performance booster. Gate keeper glob pattern for '^.+(>|#| (enable))' is ''. Not usable, disabling the performance booster.

expect: does "" (spawn_id exp6) match regular expression "[\r\n]+"? (No Gate, RE only) gate=yes re=no "^(.+[:.])1 ((>|#| (enable)))"? (No Gate, RE only) gate=yes re=no "^.+(>|#| (enable))"? (No Gate, RE only) gate=yes re=no

expect: does "\r\n" (spawn_id exp6) match regular expression "[\r\n]+"? (No Gate, RE only) gate=yes re=yes expect: set expect_out(0,string) "\r\n" expect: set expect_out(spawn_id) "exp6" expect: set expect_out(buffer) "\r\n" expect: continuing expect

expect: does "" (spawn_id exp6) match regular expression "[\r\n]+"? (No Gate, RE only) gate=yes re=no "^(.+[:.])1 ((>|#| (enable)))"? (No Gate, RE only) gate=yes re=no "^.+(>|#| (enable))"? (No Gate, RE only) gate=yes re=no wlc1> expect: does "wlc1>" (spawn_id exp6) match regular expression "[\r\n]+"? (No Gate, RE only) gate=yes re=no "^(.+[:.])1 ((>|#| (enable)))"? (No Gate, RE only) gate=yes re=no "^.+(>|#| (enable))"? (No Gate, RE only) gate=yes re=yes expect: set expect_out(0,string) "wlc1>" expect: set expect_out(1,string) ">" expect: set expect_out(spawn_id) "exp6" expect: set expect_out(buffer) "wlc1>" tty_raw_noecho: was raw = 0 echo = 1