SSH(Secure Shell)是什么呢?權(quán)威的說法是:‘Secure shell is a de facto standard forremote logins and encrypted file transfers.’。SSH由芬蘭赫爾辛基大學(xué)的TatuYlonen在1995年發(fā)明,其主要目的就是通過認(rèn)證和加密手段在互聯(lián)網(wǎng)提供一條安全的連接(并不僅是Terminal),默認(rèn)運(yùn)行于TCP22號(hào)端口。目前有兩種協(xié)議版本:SSH-1和SSH-2。
要理解SSH首先要明白它的幾把Key: Host Key / Server Key / Session Key / User Key
具體見下表: Name Lifetime Created by Type Purpose Host key PersistentAdministrator Public Identify a server/machine Server key One hourServer Public Encrypt the session key(SSH1 only) Session key Onesession Client (and server) Secret Protect communications User keyPersistent User Public Identify a user to the server
SSH簡(jiǎn)單的運(yùn)行過程如下:
1、Client端向Server端發(fā)起SSH連接請(qǐng)求。
2、Server端向Client端發(fā)起版本協(xié)商。
3、協(xié)商結(jié)束后Server端發(fā)送Host Key公鑰 Server Key公鑰,隨機(jī)數(shù)等信息。到這里所有通信是不加密的。
4、Client端返回確認(rèn)信息,同時(shí)附帶用公鑰加密過的一個(gè)隨機(jī)數(shù),用于雙方計(jì)算Session Key。
5、進(jìn)入認(rèn)證階段。從此以后所有通信均加密。
6、認(rèn)證成功后,進(jìn)入交互階段。
我這里寫的極其簡(jiǎn)單,有興趣參考這本書:SSH the Secure Shell 2nd Edition
或者參看RFC:http://www.ietf.org/rfc/rfc4251.txt
也可看看這里:http://www.51cto.com/art/200511/12308.htm
在Cisco IOS設(shè)備上啟用SSH
Cisco在SSH的支持上動(dòng)作遲緩,12.0開始引入SSH-1,12.1開始引入SSH-2,至今都只實(shí)現(xiàn)了一個(gè)精簡(jiǎn)版的SSH,很多東西都不支持,比如BlowFish算法。Cisco似乎并不是很熱心于SSH帶來的安全性??赡茉贑isco的邏輯中,對(duì)網(wǎng)絡(luò)設(shè)備的訪問處于嚴(yán)格受限專網(wǎng)當(dāng)中,想從中進(jìn)行Sniffer非常不容易。我也親見過許多大型運(yùn)營商的DCN網(wǎng)里面完全采用了Telnet,似乎也沒有什么大的問題。因?yàn)?,如果入侵者是處心積慮的高手,SSH也存在著問題,比如man-in-the-middle攻擊,處理起來就會(huì)加大管理成本。還是那句話,安全是沒有絕對(duì)的。
對(duì)于沒有專網(wǎng),同時(shí)在限定訪問地址范圍內(nèi)存在Sniffer可能性的網(wǎng)絡(luò)設(shè)備,開啟SSH還是有必要的,下面就是配置步驟:
1、設(shè)定IOS設(shè)備主機(jī)名
Router(config)#host SSH-Test
2、設(shè)定IOS設(shè)備所在域名
SSH-Test(config)#ip domain-name test.com
3、建立RSA公鑰(這是我們前面提到的哪一個(gè)Key?)
SSH-Test(config)#crypto key generate rsa
這時(shí)系統(tǒng)會(huì)提示你輸入modulus的長(zhǎng)度,默認(rèn)為512,取值范圍是360-2048,越長(zhǎng)安全性越好,但Key的生成時(shí)間也會(huì)越長(zhǎng),這是個(gè)2500上的耗時(shí)參考表:
Router 360 bits 512 bits 1024 bits 2048 bits (maximum) Cisco 2500 11 seconds 20 seconds 4 minutes 38 seconds more than 1 hour
注意,這條命令是一次性的,不會(huì)被保存到startup-config中。但是在執(zhí)行這條命令后再保存配置,所生成的RSA Key會(huì)被保存到nvram的Private-Config中。
RSA Key可以用這條命令查看:
SSH-Test#sh crypto key mypubkey rsa
4、設(shè)置ssh訪問特性(可選)
SSH-Test(config)#ip ssh time-out 60
!ssh會(huì)話超時(shí)時(shí)間,以秒為單位
SSH-Test(config)#ip ssh authentication-retries 3
!ssh登錄認(rèn)證重試次數(shù)
5、開啟本地用戶認(rèn)證
SSH-Test(config)#username test password test
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可以向本設(shè)備發(fā)起SSH連接
略
好了,可以用PuTTY測(cè)試一下了。
補(bǔ)充:
1、Cisco上的3DES Feature是要花錢買的,如果你用的是普通DES加密的時(shí)候,PuTTY會(huì)提示你,確認(rèn)即可。
2、將Cisco IOS作為SSH客戶端時(shí),使用ssh命令即可,參數(shù)很簡(jiǎn)單。注意從一個(gè)3DES設(shè)備訪問一個(gè)DES設(shè)備的時(shí)候,要用-c參數(shù)將加密算法改為DES。
3、開啟SSH服務(wù)后,banner login將不被顯示,banner motd將在登錄后顯示。
相關(guān)參考資料:
http://www.cisco.com/en/US/tech/tk583/tk617/technologies_tech_note09186a00800949e2.shtml
http://www.cisco.com/en/US/tech/tk583/tk617/tsd_technology_support_protocol_home.html
來源:考試大-思科