禁用telnet步驟:
Router> config t
Router(config) > line vty 0 4
Router(config-line-vty)> transport input ssh(只允許SSH,如果不需要遠程就使用no)
Router(config-line-vty)> password jackel(默認無密碼是不能telnet連接的,但如果要用SSH就需設置密碼)
Router(config-line-vty)> exit
Router(config) > exit
Router>
注意:必須用 line vty 0 4 這個vty進去修改。如果不小心寫成了 no transport input ,那么sh run就會發現配置成了:transport input none,然后就沒法通過 telnet 或者 ssh 連接了。
SSH簡單原理及在Cisco IOS設備上啟用SSH
SSH(Secure Shell)的權威說法是:‘Secure shell is a de facto standard for remote logins and encrypted file transfers.’。SSH由芬蘭赫爾辛基大學的Tatu Ylonen在1995年發明,其主要目的就是通過認證和加密手段在互聯網提供一條安全的連接(並不僅是Terminal),默認運行於TCP 22號端口。目前有兩種協議版本:SSH-1和SSH-2。
要理解SSH首先要明白它的幾把Key: Host Key / Server Key / Session Key / User Key
具體見下表: Name Lifetime Created by Type Purpose Host key Persistent Administrator Public Identify a server/machine Server key One hour Server Public Encrypt the session key(SSH1 only) Session key One session Client (and server) Secret Protect communications User key Persistent User Public Identify a user to the server
SSH簡單的運行過程如下:
1、Client端向Server端發起SSH連接請求。
2、Server端向Client端發起版本協商。
3、協商結束后Server端發送Host Key公鑰 Server Key公鑰,隨機數等信息。到這里所有通信是不加密的。
4、Client端返回確認信息,同時附帶用公鑰加密過的一個隨機數,用於雙方計算Session Key。
5、進入認證階段。從此以后所有通信均加密。
6、認證成功后,進入交互階段。
在Cisco IOS設備上啟用SSH
Cisco在SSH的支持上動作遲緩,12.0開始引入SSH-1,12.1開始引入SSH-2,至今都只實現了一個精簡版的SSH,很多東西都不支持,比如 BlowFish算法。Cisco似乎並不是很熱心於SSH帶來的安全性。可能在Cisco的邏輯中,對網絡設備的訪問處於嚴格受限專網當中,想從中進行 Sniffer非常不容易。我也親見過許多大型運營商的DCN網里面完全采用了Telnet,似乎也沒有什么大的問題。因為,如果入侵者是處心積慮的高手,SSH也存在着問題,比如man-in-the-middle攻擊,處理起來就會加大管理成本。還是那句話,安全是沒有絕對的。
對於沒有專網,同時在限定訪問地址范圍內存在Sniffer可能性的網絡設備,開啟SSH還是有必要的,下面就是配置步驟:
1、設定IOS設備主機名
Router(config)#host SSH-Test
2、設定IOS設備所在域名
SSH-Test(config)#ip domain-name test.com
3、建立RSA公鑰(這是我們前面提到的哪一個Key?)
SSH-Test(config)#crypto key generate rsa
這時系統會提示你輸入modulus的長度,默認為512,取值范圍是360-2048,越長安全性越好,但Key的生成時間也會越長,這是個2500上的耗時參考表:
Router 360 bits 512 bits 1024 bits 2048 bits (maximum) Cisco 2500 11 seconds 20 seconds 4 minutes 38 seconds more than 1 hour
注意,這條命令是一次性的,不會被保存到startup-config中。但是在執行這條命令后再保存配置,所生成的RSA Key會被保存到nvram的Private-Config中。
RSA Key可以用這條命令查看:
SSH-Test#sh crypto key mypubkey rsa
4、設置ssh訪問特性(可選)
SSH-Test(config)#ip ssh time-out 60
!ssh會話超時時間,以秒為單位
SSH-Test(config)#ip ssh authentication-retries 3
!ssh登錄認證重試次數
5、開啟本地用戶認證
SSH-Test(config)#username jackel secret yuan
SSH-Test(config)#line vty 0 4
SSH-Test(config-line)#login local
!也可以用aaa new-model命令
6、限定只能用SSH登錄
SSH-Test(config)#line vty 0 4
SSH-Test(config-line)#transport input ssh
7、用access-class限定特定IP可以向本設備發起SSH連接
(略)
好了,可以用PuTTY測試一下了。最后記得保存
SSH-Test(config)#wr
補充:
1、Cisco上的3DES Feature是要花錢買的,如果你用的是普通DES加密的時候,PuTTY會提示你,確認即可。
2、將Cisco IOS作為SSH客戶端時,使用ssh命令即可,參數很簡單。注意從一個3DES設備訪問一個DES設備的時候,要用-c參數將加密算法改為DES。
3、開啟SSH服務后,banner login將不被顯示,banner motd將在登錄后顯示。
注意:最后如果從別的設備用ssh登錄這台路由器會出現以下內容:
R1#ssh -l best 192.168.0.2
Password:
R2>en
% Error in authentication.
為什會出現以上內容?
因為在R2上沒有配置enable password/secret xxxx
R2配置上enable secret 5 $1$fJxo$suWiTzmfdj/vkvXfRHBcw/
那么在R1上:
R1#ssh -l best 192.168.0.2
Password: