如果你一直利用Telnet控制網絡設備,你可以考慮采用其他更安全的方式。本文告訴你如何用SSH替換Telnet。
使用Telnet這個用來訪問遠程計算機的TCP/IP協議以控制你的網絡設備相當于在離開某個建筑時大喊你的用戶名和口令。很快地,會有人進行監聽,并且他們會利用你安全意識的缺乏。
SSH是替代Telnet和其他遠程控制臺管理應用程序的行業標準。SSH命令是加密的并以幾種方式進行保密。
在使用SSH的時候,一個數字證書將認證客戶端(你的工作站)和服務器(你的網絡設備)之間的連接,并加密受保護的口令。SSH1使用RSA加密密鑰,SSH2使用數字簽名算法(DSA)密鑰保護連接和認證。
加密算法包括Blowfish,數據加密標準(DES),以及三重DES(3DES)。SSH保護并且有助于防止欺騙,“中間人”攻擊,以及數據包監聽。
實施SSH的第一步是驗證你的設備支持SSH。請登錄你的路由器或交換機,并確定你是否加載了一個支持SSH的IPSec IOS鏡像。
在我們的例子中,我們將使用Cisco IOS命令。運行下面的命令:
Router> Show flash
該命令顯示已加載的IOS鏡像名稱。你可以用結果對比你的供應商的支持特性列表。
在你驗證了你的設備支持SSH之后,請確保設備擁有一個主機名和配置正確的主機域,就像下面的一樣:
Router> config terminal
Router (config)# hostname hostname
Router (config)# ip domain-name domainname
在這個時候,你就可以啟用路由器上的SSH服務器。要啟用SSH服務器,你首先必須利用下面的命令產生一對RSA密鑰:
Router (config)# crypto key generate rsa
在路由器上產生一對RSA密鑰就會自動啟用SSH。如果你刪除這對RSA密鑰,就會自動禁用該SSH服務器。
實施SSH的最后一步是啟用認證,授權和審計(AAA)。在你配置AAA的時候,請指定用戶名和口令,會話超時時間,一個連接允許的嘗試次數。像下面這樣使用命令:
Router (config)# aaa new-model
Router (config)# username password
Router (config)# ip ssh time-out
Router (config)# ip ssh authentication-retries
要驗證你已經配置了SSH并且它正運行在你的路由器上,執行下面的命令:
Router# show ip ssh
在驗證了配置之后,你就可以強制那些你在AAA配置過程中添加的用戶使用SSH,而不是Telnet。你也可以在虛擬終端(vty)連接中應用SSH而實現同樣的目的。這里給出一個例子:
Router (config)# line vty 0 4
Router (config-line)# transport input SSH
在你關閉現存的Telnet會話之前,你需要一個SSH終端客戶端程序以測試你的配置。我極力推薦PuTTY;它是免費的,而且它是一個優秀的終端軟件。
最后的想法
當你在你的路由器和交換機上啟用了SSH之后,保證你修改了所有現存的訪問控制列表以允許對這些設備的連接。你現在可以向你的上級報告你已經堵上了一個巨大的安全漏洞:現在所有的網絡管理會話都被加密并且被保護著。