1. 程式人生 > >SSH在Cisco裝置上設定例項

SSH在Cisco裝置上設定例項

    使用telnet進行遠端裝置維護的時候,由於密碼和通訊都是明文的,易受sniffer偵聽,所以應採用SSH替代telnet。SSH (Secure Shell)服務使用tcp 22 埠,客戶端軟體發起連線請求後從伺服器接受公鑰,協商加密方法,成功後所有的通訊都是加密的。Cisco 裝置目前只支援SSH v1,不支援v2。 Cisco實現 SSH的目的在於提供較安全的裝置管理連線,不適用於主機到主機的通訊加密。Cisco推薦使用IPSEC作為端對端的通訊加密解決方案。
    1.IOS裝置(如6500 MSFC、8500、7500)的配置:
      a) 軟體需求
      IOS版本12.0.(10)S 以上 含IPSEC 56 Feature
      推薦使用 IOS 12.2 IP PLUS IPSEC 56C以上版本
      基本上Cisco全系列路由器都已支援,但為執行指定版本的軟體您可能需要相應地進行硬體升級
      b) 定義使用者
      user mize pass
[email protected]

      d) 定義域名
      ip domain-name mize.myrice.com //配置SSH必需
      e) 生成金鑰
      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]
      f)指定可以用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
      g) 限制登入
       line con 0
       login local
       line vty 0 4
       login local //使用本地定義的使用者名稱和密碼登入
       transport input SSH //只允許用SSH登入(注意:禁止telnet和從交換引擎session!)
       access-class 90 in //只允許指定源主機登入
    2.CatOS(如6500/4000交換引擎)的配置:
      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 //啟用明文密碼加密服務

    3.SSH 客戶端
      a) 從管理工作站登入
      必須使用支援SSH v1協議的終端模擬程式才能使用SSH協議管理裝置,推薦使用Secure CRT 3.3, 也可以使用免費軟體putty.下面介紹使用Secure CRT登入SSH裝置的方法:
      執行Secure CRT程式,選擇選單File – Quick Connect…設定以下引數:Protocol(協議): ssh1 Hostname(主機名): 10.10.1.1 Port(埠): 22 Username(使用者名稱): mize Ciper(加密方法): 3DES Authentication(認證方式):password 點選Connect,這時可能會提示您接受來自裝置的加密公鑰,選擇Accept once(只用一次)或Accept & Save (儲存金鑰以便下次使用)。由於協議實現的問題,可能會碰到SSH Buffer Overflow的問題,如果出現“收到大於16k的金鑰”的提示,請重新連線。連線正常,輸入密碼即可登入到系統。
      第二次登入點選File – Connect 點選連線10.10.1.1即可。
      b) 從IOS裝置用SSH協議登入其他裝置
      IOS裝置也可以發起SSH連線請求(作為SSH Client),從IOS裝置登入支援3DES的IOS裝置,使用以下命令(-l 指定使用者名稱):
      ssh –l mize 10.10.3.3
      從IOS裝置登入支援 DES(56位)的IOS,使用以下命令(-c des指定1 des加密方式):
      ssh –c des –l mize 10.10.5.5
      從IOS裝置登入支援 3DES的CatOS, 如6509/4006的交換引擎,使用如下命令(無需指定使用者名稱):
      ssh 10.10.6.6
    4.限制telnet源地址
      對於未支援SSH 的裝置,可採取限制telnet源地址的方法來加強安全性。為了不致於增加一個管理員地址就要把所有的裝置配置修改一遍,可以採用中繼裝置的方法,即受控裝置只允許中繼裝置的telnet訪問,中繼裝置則允許多個管理員以較安全的方法(如SSH)登入。

設定中繼裝置:
   inter lo 0
    ip address 10.10.1.100 255.255.255.255
   ip telnet source-interface Loopback0  //發起telnet的源地址
設定受控裝置:
   access-list 91 remark Hosts allowed to TELNET in
   access-list 91 permit 10.10.1.100
   access-list 91 permit 10.10.1.101
   line con 0
    password xxxxxxxx
   line vty 0 4
R>    password xxxxxxxx
   access-class 91 in