本文 首发于 🌱 煎茶转载 请注明 来源

1. 案例目标

通过本案例,你可以掌握如下技能:

  1. 配置 SSH

  2. 使用 SSH 访问路由器

2. 背景知识

过去对路由器的远程管理访问一般使用 TCP 端口 23 上的 Telnet。但 Telnet 是在安全不是问题的年代开发的。为此,所有 Telnet 流量以明文的形式转发。 SSH 已经替代了 Telnet,作为远程路由器连接管理的最佳工具,它提供强大的私密性和会话的集成。SSH 使用 TCP 端口 22。它提供类似出站 Telnet 连接的功能,但连接是加密的。通过认证和加密,SSH 允许在不安全的网络中进行安全的通信。想在路由器上激活 SSH,必须配置以下参数:

  • Hostname(主机名)

  • Domain name(域名)

  • Asymmetrical keys(非对称密钥)

  • Local authentication(本地验证)

3. 设备与拓扑

环境:Cisco Packet Tracer 5.3
设备:1 台普通 PC,1 台 2950T-24 交换机,2 台 2811 路由器。
拓扑:如下图。
image.png

4. 操作步骤

步骤 1:按拓扑图添加设备与连接。
步骤 2:配置路由器接口。

打开路由器的 Config配置页面,按拓扑图上的标注分别配置两个路由
器的显示名、主机名和接口 Fa0/0 的 IP 地址,并注意激活该接口。
步骤 3:配置 PC 的 IP 地址和网关。

用 PC 的 IP configuration 程序配置其 IP 地址和网关。
步骤 4:在 R1 上配置 SSH
1) 配置域名

R1#conf t 
R1(config)#ip domain-name cisco.com 
R1(config)#



2) 配置非对称密钥
R1(config)#crypto key generate rsa 
# 当提示密钥长度时,输入 1024。注:缺省为 512。


3) 配置用于认证的登录用户名及口令
R1(config)#username admin password cisco


4) 配置 SSH 版本

R1(config)#ip ssh version 2
  1. 配置 SSH 会话最大空闲超时值和 SSH 连接认证重试次数
R1(config)#ip ssh time-out ?  
<1-120> SSH time-out interval (secs)  
R1(config)#ip ssh time-out 60 //最大空闲超时:60 秒
R1(config)#ip ssh authentication-retries ?  
<0-5> Number of authentication retries  
R1(config)#ip ssh authentication-retries 2 //认证重试次数:2 次
R1(config)#
  1. 在 VTY 线路上禁用 Telnet,并激活 SSH。
R1(config)#line vty 0 4  
R1(config-line)#no transport input all //禁用所有流量
R1(config-line)#transport input ssh //允许 SSH 流量
R1(config-line)#login local //要求本地认证

步骤 5:在 R2 上重复步骤 4,配置 SSH。
步骤 6:在 R1 上验证 SSH 的配置及运行
1) 验证 SSH 版本及其他设置

R1#sh ip ssh  
SSH Enabled - version 2.0  
Authentication timeout: 60 secs; Authentication retries: 2  
R1#
  1. 验证 SSH 是否在运行
R1#sh ssh  
%No SSHv2 server connections running.  
%No SSHv1 server connections running.  
R1#

步骤 7:在 R2 上重复步骤 6,验证 SSH 的配置及运行。
步骤 8:测试 SSH
1) 在 PC0 的命令行窗口中对 R1 和 R2 分别进行 telnet 和 ssh 的测试,
如图 5-1。telnet 应失败,而 ssh 应成功。

PC>telnet 192.168.1.1
Trying 192.168.1.1 ...Open

[Connection to 192.168.1.1 closed by foreign host]
PC>tennet 192.168.1.2
Invalid Command.

PC>ssh -l admin 192.168.1.1
Open
Password: 



R1>exit

image.png
2) 在 R1 中对 R2 进行测试,telnet 应失败,而 ssh 应成功。反之亦然。
如图 5-2。

R1>telnet 192.168.1.2
Trying 192.168.1.2 ...Open

[Connection to 192.168.1.2 closed by foreign host]
R1>ssh -l admin 192.168.1.2
Open
Password: 



R2>

image.png