网络中采用了大量的Cisco路由器。管理员通常采用Telnet远程登录的方式对路由器进行日常维护。由于Telnet、FTP等网络服务程序在网络中采用明文传送口令和数据,其安全性无法得到有效的保障。管理员的用户名和密码一旦被别有用心的人截获,后果将不堪设想。因此如何实现Cisco路由器的安全登录成为网络日常维护工作中首要解决的问题。本文利用Cisco路由器对SSH的支持,通过SSH实现了对路由器的安全登录。

SSH的英文全称是Secure Shell,是由芬兰的一家公司开发的。SSH由客户端和服务端的软件组成,有1.x和2.x两个不兼容的版本。SSH的功能强大,既可以代替Telnet,又可以为FTP、POP3和PPP提供一个安全的“通道”。使用SSH,可以把传输的所有数据进行加密。即使有人截获到数据也无法得到有用的信息。同时,数据经过压缩,大大地加快传输的速度。

本文将详细介绍在Cisco路由器上用SSH实现安全登录的配置方法。该方法简单易行,安全性高,适于在网络维护工作中推广使用。

2、在Cisco路由器上配置SSH服务

在Cisco路由器产品系列中只有7200系列、7500系列和12000系列(GSR)等高端产品的IOS支持SSH。一般支持SSH的IOS版本文件名中都带有K3或者K4字样,K3 代表56bit SSH 加密,K4代表168bit SSH加密。如我省省网GSR 12016和12008上用的IOS 就是一个支持56bit SSH 加密的版本。目前Cisco的产品只支持SSH-1,还不支持SSH-2。下面以GSR 12008为例详细介绍SSH-1的配置方法(斜体字为配置输入的命令):

① 配置hostname和ip domain-name: 
Router#configure terminal 
Router(config)#hostname TEST-GSR12008 
TEST-GSR12008(config)#ip domain-name jx.cn.net

② 配置登录用户名和密码(以本地认证为例): 
TEST-GSR12008(config)#username test password 0 test

注:添加一个用户:test,口令:test 
TEST-GSR12008(config)#line vty 0 4 
TEST-GSR12008(config-line)#login local

在这两部分做完以后,用show run命令就能够看到:

hostname TEST-GSR12008 

boot system flash gsr-k3p-mz.120-14.S.bin 
enable secret 5 $1$DMyW$gdSIOkCr7p8ytwcRwtnJG. 
enable password 7 094F47C31A0A 

username test password 7 0835495D1D 
clock timezone PRC 16 
redundancy 
main-cpu 
auto-sync startup-config 




ip subnet-zero 
no ip finger 
ip domain-name jx.cn.net 
ip name-server 202.101.224.68 
ip name-server 202.101.226.68 

③ 配置SSH服务: 
TEST-GSR12008(config)#crypto key generate rsa 
The name for the keys will be: TEST-GSR12008.jx.cn.net

注:SSH的关键字名就是hostname + . +ip domain-name

Choose the size of the key modulus in the range of 360 to 2048 for your 
General Purpose Keys. Choosing a key modulus greater than 512 may take 
a few minutes.

How many bits in the modulus [512]: 注:选择加密位数,用默认就行了 
Generating RSA keys ... 
[OK]

TEST-GSR12008(config)#end 
TEST-GSR12008#write 
Building configuration...

这时候用show run命令可以看到:

ip subnet-zero 
no ip finger 
ip domain-name jx.cn.net 
ip name-server 202.101.224.68 
ip name-server 202.101.226.68 
ip ssh time-out 120 
ip ssh authentication-retries 3 
!

ip ssh version 1   这条手敲~

用命令show ip ssh也能看到:

SSH Enabled - version 1.5 
Authentication timeout: 120 secs; Authentication retries: 3

现在SSH服务已经启动,如果需要停止SSH服务,用以下命令:

TEST-GSR12008(config)#crypto key zeroize rsa

④设置SSH参数

配置好了SSH之后,通过show run命令我们看到SSH默认的参数:超时限定为120秒,认证重试次数为3次,可以通过下面命令进行修改: 
TEST-GSR12008(config)#ip ssh {[time-out seconds]} | [authentication-retries interger]} 
如果要把超时限定改为180秒,则应该用: 
TEST-GSR12008(config)# ip ssh time-out 180 
如果要把重试次数改成5次,则应该用: 
TEST-GSR12008(config)# ip ssh authentication-retries 5 
这样,SSH已经在路由器上配置成功了,就能够通过SSH进行安全登录了。 

 

路由器篇

全局模式:
ip domain-name cisco.com      //配置域名,用于生成证书,证书中包含了公钥。这步很重要必不可缺。
crypto key generate rsa           //使用RSA算法生成一对密钥

出现如下提示:
......[512]:                                 //此处是选择密钥长度,默认为512bit

username 12345 passowrd 11111     //配置用户密码

line vty 0 4
transport input ssh                             //配置VTY线路只接受ssh拨入,使用此命令后telnet将不可用。
login local                                           //远程用户登录时使用路由器本地路由器数据库进行用户认证
exit

可选命令:
ip ssh time-out 30      //配置客户端空闲超时为30秒
ip ssh authentication-retries 3   //SSH客户端登录失败重试次数,3次


注意:如果用ubuntu登录cisco路由器SSH服务,在创建密钥时不能使用512bit,必须使用716bit以上密钥。

如果已经使用了512bit密钥,可以使用如下命令:
crypto key zeroize rsa              //清除现存RSA KEY 
crypto key generate rsa general-keys modulus 1024            //生成新的1024bit RSA KEY

=================================
PIX防火墙篇

host pix515                               //修改主机名
domain-name cisco.com      //设置域名,必须的
crypto key generate rsa        //创建密钥对
ssh 0 0 outside                        //设置任何IP地址都可以从outside口访问ssh
ssh timeout 60                         //设置ssh客户端超时时间

客户端登陆:
ssh -l pix 192.168.1.253        //使用PIX用户名登陆SSH,PIX为设备内置帐户,默认密码为cisco,

如果想修改密码,可以在PIX上全局模式输入:passwd 12345 来修改。

是不是觉得very不安全,那么下面来看看怎么设置自定义的用户和密码来进行SSH认证。
全局模式下:
pix(config)# username test password test                 //设置本地用户名和密码
pix(config)# aaa authentication ssh console LOCAL   //让ssh的认证使用本地数据库。