Ssh
如何使用 SSH 在全域配置模式下執行 Cisco IOS 命令?
我知道 Kron,但據說沒有辦法執行全域配置命令:
http://www.techrepublic.com/article/schedule-commands-with-cisco-ios-kron/
如果我使用 Putty 連接,Putty 能夠在登錄後執行多個命令,這就像一個魅力。問題是我想在每晚 11 點自動進入開關並關閉一系列界面。
我正在嘗試使用 sshpass,但它似乎一次只允許 1 個命令。
還有一種無密碼方式可以進入 cisco 交換機,但從 IOS 15.0 開始:
https://www.m00nie.com/2010/12/password-less-ssh-login-using-pki-to-cisco-ios/
碰巧幾年前我也有同樣的工作要做。這是我當時所做的,希望對您有所幫助:
#!/usr/bin/expect -f set ipadr [lindex $argv 0] set cmd [lindex $argv 1] set fich [lindex $argv 2] if { ${cmd} == 1 } then {set comm "sh flash | tee tftp://TFTP-IP-ADDRESS/essai\r"} else {set comm "copy flash:${fich} tftp://TFTP-IP-ADDRESS\r"} spawn ssh niji@${ipadr} expect { "password:" { send "YOURPASSWORDHERE\r" } "(yes/no)?" { send "yes\r"; expect { "password:" { send "YOURPASSWORDHERE\r"; }}} "Name:" { send "YOURUSERNAMEHERE\r"; sleep 3 ; send "YOURPASSWORDHERE\r"; } "Connection refused" { exit } } expect { ">" { send "en\r" ; sleep 3; send "EN-PASSWD\r";} "#" { send "\r" } } expect { "#" { send "${comm}" ; sleep 5; send "\r" ;send "\r" } } expect { "#" { send "exit\r"; send "quit\r" } }
這將 IOS 設備與作為參數提供的 IP 地址連接起來。密碼和使用者名是硬編碼的,所以我想你想改進一下。
發送到路由器的命令是“copy run tftp”或類似的命令,但您也可以將其更改為您需要的任何內容。
那是前一段時間,我想如果我現在必須重新使用它,我會做一些重新工作,但這可能是一個很好的開始。
乾杯,