前言
本文讨论配置和调试安 全外壳(SSH)在运行的Cisco IOS软件的版本支持 SSH® Cisco 路由器或交换机。欲知关于特定 版本和软件镜象的,下面请参阅更多信息。
使 用的组件
本文的信息根 据以下的软件及硬件版本。
Cisco IOS 3600软件(C3640-IK9S-M),版本 12.2(2)T1
SSH介绍到 IOS platforms/images如下所示。
SSH版本1.0 (SSHv1)服务器在起动在12.0.5.S 的一 些IOS platforms/images被引入了。
SSH客户端在开始在12.1.3.T的一些IOS platforms/images介绍。
SSH终端线 路接入(亦称反向Telnet)在开始在12.2.2.T的一些 IOS platforms/images被引入。
关 于信息关于SSH技术支持在交换机,参见 如何 配置SSH在运行CatcOs的Catalyst交换机。
关于一张完全特性集列表不同的平台 支持用不同的Cisco IOS版本和,参见 软件 顾问 (注册的用户)。
本文提供的信息在特定实验室环境里从设备被创建了 。用于本文的所有设备开始了以一个缺省(默认)配置。 如果在一个真实网络工作,保证您使用它以前了解所有命令 的潜在影响。
SSHv1与SSHv2
此时,IOS只支持SSHv1; Cisco没有计划实现 SSHv2。有此的几个原因,如下所述。
Cisco在Cisco IOS实现SSH当IP安全(IPSec) 通过互 联网工程任务组(IETF)被开发。在IPSec 开发过程期间,而 SSH的实施在IOS是更多一项战术措施提供接入路由器一个安全的方 法IPSec 是核心功能。Cisco投入人员维护SSH功能为修正, 但增进将制定要求低优先级。Cisco 做到配置IPSec为获取 所有数据流,包括管理数据流到/从Cisco网络设备。
如果弱点在SSHv1的协议或实施被发 现,将制定他们的复核最优先考虑的事,和所有潜在安全漏洞。 注意Cisco IOS编码不是相同作为代码在UNIX、Windows,或 者所有其他设备查找。同样地,一个编码问题在那些实施之 一中在Cisco IOS很可能不会查找。 另外,不是所有的SSHv1 功能在Cisco实施可以被发现。值得注意,SSH在Cisco IOS不 提供"会话转发",亦不提供建立隧道X11。 缺陷在通用代码 的这些部分不会是一个问题在Cisco IOS。如果任何申明的协 议缺陷回顾表示,SSHv1协议在Cisco IOS是根本上残破的,则Cisco 确定那时移植到SSHv2是否是适当的。
网络图
测试认证
测试认证没有 SSH
我们测试认证没有 SSH首先将确信,认证通过用路由器卡特在添加SSH之前。 认 证可以用运行TACACS+或RADIUS的验证、授权和记帐(AAA)服务器是 带有一个本地用户名/密码或。(认证通过线路密码不是可能 的与SSH。) 下面的示例显示本地认证,让我们远程登录到路 由器带有用户名"cisco" 和密码"cisco"。
!--- aaa new-model causes the local username/password on the router
!--- to be used in the absence of other aaa statements.
aaa new-model
username cisco password 0 cisco
line vty 0 4
!--- Instead of aaa new-model, the login local command may be used.
测试认证与 SSH
对测试认证与SSH, 我们在卡特补充说到前面的语句,启用SSH和测试SSH从PC和UNIX 工作站。
ip domain-name rtp.cisco.com
!--- Generate an SSH key to be used with SSH.
cry key generate rsa
ip ssh time-out 60
ip ssh authentication-retries 2
这时,显示 生成的键, show cry key mypubkey rsa命令应该。在添加SSH配置以后 ,我们测试访问路由器从PC和UNIX 工作站。
可选配置设置
防止Non-SSH连接
如果我们想要防止non-SSH连接,我们添加 transport input SSH 在 线路之下对仅SSH连接限制路由器。平直的 (non-SSH) Telnets将拒绝。
line vty 0 4
!--- Prevent non-SSH Telnets.
transport input ssh
我们测 试是确保的non-SSH用户不能远程登录到路由器卡特。
设置IOS 路由器或交换机作为SSH 客户端
有为启用SSH技术支持要求的四个步骤在IOS路由器。
配置 hostname命令。
配置DNS域。
生成将使用的SSH键。
启用SSH vtys的传输技术支持。
如果我们想要有一次设备操作作为SSH 客户端对其 他,我们能添加SSH到第二个设备,Reed。设备然后在客户端 服务器排列,用作为服务器和Reed的卡特作为客户端。 IOS SSH客户端配置在Reed是相同象为SSH 服务器配置需要 在卡特。
!--- Step 1: Configure hostname if you have not previously done so.
hostname carter
!--- aaa new-model causes the local username/password on the router
!--- to be used in the absence of other AAA statements.
aaa new-model
username cisco password 0 cisco
!--- Step 2: Configure the router's DNS domain.
ip domain-name rtp.cisco.com
!--- Step 3: Generate an SSH key to be used with SSH.
cry key generate rsa
ip ssh time-out 60
ip ssh authentication-retries 2
!--- Step 4: By default the vtys' transport is Telnet. In this case,
!--- Telnet has been disabled and only SSH is supported.
line vty 0 4
transport input SSH
!--- Instead of aaa new-model, the login local command may be used.
测试此,发出以下命令对 SSH从IOS SSH 客户端(Reed)到IOS SSH服务器(卡特):
ssh -l cisco -c 3des 10.13.1.99
添加SSH 终端线路接入
如果 我们需要出局SSH终端线路验证,我们能为出局反向Telnet配置和测 试SSH通过卡特,作为通用服务器对Philly。
ip ssh port 2001 rotary 1
line 1 16
no exec
rotary 1
transport input ssh
exec-timeout 0 0
modem In Out
Stopbits 1
如果Philly附有Carter端口2,我们会SSH 对Philly 通过卡特从Reed用以下命令:
ssh -c 3des -p 2002 10.13.1.99
从 Solaris,我们会使用以下命令:
ssh -c 3des -p 2002 -x -v 10.13.1.99
debug及show命令
在发出如下 被描述和说明的debug命令 之前,请参阅 重要信息关于Debug命令。 输 出解释器工具支持 某些show命令 (注 册的用户),允许您查看show命令输出分析 。
debug IP SSH - 显示调 试消息为SSH。
show SSH - 显示SSH服 务器连接状态。
carter#show ssh
Connection
Version Encryption
State
Username
0
1.5
DES
Session started
cisco
show ip ssh - 显示版 本和配置数据为SSH。
carter#sho ip ssh
SSH Enabled - version 1.5
Authentication timeout: 60 secs; Authentication retries: 2
示例调试输出
注意一些此"好"调试输出包裹对多条线路由于间距注 意事项。
路由器调试
00:23:20: SSH0: starting SSH control process
00:23:20: SSH0: sent protocol version id SSH-1.5-Cisco-1.25
00:23:20: SSH0: protocol version id is - SSH-1.5-1.2.26
00:23:20: SSH0: SSH_SMSG_PUBLIC_KEY msg
00:23:21: SSH0: SSH_CMSG_SESSION_KEY msg - length 112, type 0x03
00:23:21: SSH: RSA decrypt started
00:23:21: SSH: RSA decrypt finished
00:23:21: SSH: RSA decrypt started
00:23:21: SSH: RSA decrypt finished
00:23:21: SSH0: sending encryption confirmation
00:23:21: SSH0: keys exchanged and encryption on
00:23:21: SSH0: SSH_CMSG_USER message received
00:23:21: SSH0: authentication request for userid cisco
00:23:21: SSH0: SSH_SMSG_FAILURE message sent
00:23:23: SSH0: SSH_CMSG_AUTH_PASSWORD message received
00:23:23: SSH0: authentication successful for cisco
00:23:23: SSH0: requesting TTY
00:23:23: SSH0: setting TTY - requested: length 24, width 80; set:
length 24, width 80
00:23:23: SSH0: invalid request - 0x22
00:23:23: SSH0: SSH_CMSG_EXEC_SHELL message received
00:23:23: SSH0: starting shell for vty
服务器调试
注意: 此输出在Solaris 设备 被获取了。
rtp-evergreen.rtp.cisco.com# ssh -c 3des -l cisco -v 10.31.1.99
rtp-evergreen# /opt/CISssh/bin/ssh -c 3des -l cisco -v 10.13.1.99
SSH Version 1.2.26 [sparc-sun-solaris2.5.1], protocol version 1.5.
Compiled with