思科路由器SSH配置指南
本文詳細的介紹了如何利用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 Router
Router (config)# ip domain-name BluShin.cn
在這個時候,你就可以啟用路由器上的SSH服務器。要啟用SSH服務器,你首先必須利用下面的命令產生一對RSA密鑰:
Router (config)# crypto key generate rsa
在路由器上產生一對RSA密鑰就會自動啟用SSH.如果你刪除這對RSA密鑰,就會自動禁用該SSH服務器。
實施SSH的最后一步是啟用認證,授權和審計(AAA)。在你配置AAA的時候,請指定用戶名和口令,會話超時時間,一個連接允許的嘗試次數。像下面這樣使用命令:
Router (config)# aaa new-model
Router (config)# username BluShin password p4ssw0rd
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;它是免費的,而且它是一個優秀的終端軟件。#p#
配置實例:
Native IOS設備的配置
a) 軟件需求
IOS版本12.0.(10)S 以上 含IPSEC 56 Feature
推薦使用 IOS 12.2 IP PLUS IPSEC 56C以上版本
基本上Cisco全系列路由器都已支持,但為運行指定版本的軟件您可能需要相應地進行硬件升級
b) 定義用戶
user BluShin secret p4ss
c) 定義域名
ip domain-name BluShin.cn //配置SSH必需
d) 生成密鑰
crypto key generate rsa modulus 2048
執行結果:
The name for the keys will be: 6509-mize.myrice.com
% The key modulus size is 2048 bits
Generating RSA keys ...
[OK]
e)指定可以用SSH登錄系統的主機的源IP地址
access-list 90 remark Hosts allowed to SSH in //低版本可能不支持remark關鍵字
access-list 90 permit 10.10.1.100
access-list 90 permit 10.10.1.101
f) 限制登錄
line con 0
login local
line vty 0 4
login local //使用本地定義的用戶名和密碼登錄
transport input SSH //只允許用SSH登錄(注意:禁止telnet和從交換引擎session!)
access-class 90 in //只允許指定源主機登錄
2.CatOS
CatOS設備的配置
a) 軟件需求
運行CatOS的6500/4000交換引擎提供SSH服務需要一個6.1以上“k9”版本的軟件,如: cat6000-sup2cvk9.7-4-3.bin 和 cat4000-k9.6-3-3a.bin.
8540/8510交換機支持SSH需要以上12.1(12c)EY版本軟件。
3550交換機支持SSH需要12.1(11)EA1以上版本軟件。
其他交換機可能不支持SSH.
b) 生成密鑰
set crypto key rsa 2048
密鑰的生成需要1-2分鐘,執行完畢后可用命令show crypto key查看生成的密鑰。
c) 限制管理工作站地址
set ip permit 10.10.1.100 ssh //只允許使用SSH登錄的工作站
set ip permit 10.10.1.101 ssh
set ip permit enable ssh //檢查SSH連接的源地址
set ip permit enable telnet //檢查telnet連接的源地址
set ip permit enable snmp //檢查snmp請求的源地址
如果服務的ip permit 處于disable狀態,所有的連接將被允許(當然服務如telnet本身可能包含用戶認證機制)。如果指定服務的ip permit 處于enable狀態,則管理工作站的地址必須事先用set ip permit <管理工作站IP地址> [可選的子網掩碼] [允許使用的服務類型(ssh/telnet/snmp)]來定義可用命令 show ip permit 來檢查ip permit 的配置,某些服務可能存在安全漏洞(如http)或協議本身設計就是比較不安全的(如snmp、telnet)。如果服務不是必要的,可以將之關閉;如果服務是必須的,應采取措施保證這些服務僅向合法用戶提供:
6500/4000交換引擎:
set ip http server disable //關閉http服務
set ip permit enable snmp //限制SNMP源地址
set snmp comm. read-only //清空預設的SNMP COMM字
set snmp comm. read-write
set snmp comm. read-write-all
8500、7500、MSFC等IOS設備:
no ip http server //關閉http服務
no snmp //關閉snmp服務
no service dhcp //關閉 dhcp 服務
no ip finger //關閉 finger 服務
no service tcp-small-server //關閉tcp基本服務
no service udp-small-server //關閉 udp基本服務
service password-encryption //啟用明文密碼加密服務
【編輯推薦】