最近公司在搞网络安全,发现远程登录到交换机管理时都是用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
这样,SSH已经在交换机上配置成功了,就能够通过SSH进行安全登录了。