最近公司在搞网络安全,发现远程登录到交换机管理时都是用telnet的方式,这种方式在通讯时是采用明文通讯的,容易被网络抓包工具截取用户名和密码,为了解决这个问题,准备采用SSH的方式远程登录交换机管理。

由于原先的IOS版本比较老,并且不支持SSH配置,只能重新灌一个支持SSH配置的IOS,网上查了一下版本号,2950带加密功能的版本号是:c2950-i6k2l2q4-mz.121-22.EA14.bin。(3.63MB)

下面讲一下具体操作步骤:

先在本机上装好TFTP软件,将需要灌入的IOS文件存放在TFTP的服务器根目录下,然后登录到交换机,

由于公司2950的flash中剩余空间不足3M,无法直接将新的IOS灌入,只能先将原先的IOS删除后,再灌入新的IOS

S2950#delete flash:c2950-i6q4l2-mz.121-13.EA1.bin

删除了原来的IOS之后,将TFTP上带K2版本的IOS灌入

S2950#copy tftp:c2950-i6k2l2q4-mz.121-22.EA14.bin flash:c2950-i6k2l2q4-mz.121-22.EA14.bin

这个命令输入之后,会跳出让你输入远程IP地址,这个远程IP地址就是指装有TFTP软件的PC IP地址,输好IP回车之后,还会跳出目的文件的名称,直接回车就行,接下来就开始了IOS的传输,交换机上会显示很多连续的感叹号,而tftp服务器上则显示很多连续的#字符,全部传输完之后,交换机上会显示“OK”,tftp服务器上显示“成功”,这样IOS灌入工作就完成,可以通过sh fla命令查看一下新灌入的IOS文件。

灌入之后,指定一下启动的IOS文件

S2950(config)#boot system flash:/c2950-i6k2l2q4-mz.121-22.EA14

这条命令中flash之后的冒号和斜杠一定要输入,如果漏输的话重启交换机之后会提示找不到IOS文件和error loading.......惨痛的教训啊- -!!!

指定好启动的IOS文件之后,重启交换机,再次进入交换机的时候,将会加载新的IOS文件,可以先用sh ip ssh看一下ssh的版本,接着就开始配置SSH了

S2950(config)#ip domain-name cisco.com   //配置SSH必需设的

S2950(config)#crypto key generate rsa          //为SSH服务建立加密密钥

The name for the keys will be: S2950.cisco.com

注: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 minuts

How many bits in the modulus [512]: 注:选择加密位数,cisco推荐使用1024

Generating RSA keys ...

[OK]

 

用命令show ip ssh能看到:

SSH Enabled - version 1.99

Authentication timeout: 120 secs; Authentication retries:3

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

S2950(config)#crypto key zeroize rsa 

通过show run命令我们看到SSH默认的参数:超时限定为120秒,认证重试次数为3次,可以通过下面命令进行修改:

S2950(config)#ip ssh {[time-out seconds]} │ [authentication-retries interger]}

如果要把超时限定改为60秒,则应该用:

S2950(config)# ip ssh time-out 60

如果要把重试次数改成5次,则应该用:

S2950(config)# ip ssh authentication-retries 5

 

最后别忘记将telnet禁止

 

S2950(config)#line vty 0 4

S2950(config-line)#transport input ssh      //只允许用SSH登录(注意:禁止telnet和从交换引擎session!)

这样,SSH已经在交换机上配置成功了,就能够通过SSH进行安全登录了。