SSH简单原理及在Cisco IOS设备上启用SSH
创始人
2024-04-25 05:10:31
0

SSH(Secure Shell)是什么呢?权威的说法是:‘Secure shell is a de facto standard for remote logins and encrypted file transfers.’。SSH由芬兰赫尔辛基大学的Tatu Ylonen在1995年发明,其主要目的就是通过认证和加密手段在互联网提供一条安全的连接(并不仅是Terminal),默认运行于TCP 22号端口。目前有两种协议版本:SSH-1和SSH-2。

要理解SSH首先要明白它的几把Key: Host Key / Server Key / Session Key / User Key

具体见下表: Name Lifetime Created by Type Purpose Host key Persistent Administrator Public Identify a server/machine Server key One hour Server Public Encrypt the session key(SSH1 only) Session key One session Client (and server) Secret Protect communications User key Persistent User Public Identify a user to the server

SSH简单的运行过程如下:

1、Client端向Server端发起SSH连接请求。

2、Server端向Client端发起版本协商。
3、协商结束后Server端发送Host Key公钥 Server Key公钥,随机数等信息。到这里所有通信是不加密的。

4、Client端返回确认信息,同时附带用公钥加密过的一个随机数,用于双方计算Session Key。

5、进入认证阶段。从此以后所有通信均加密。

6、认证成功后,进入交互阶段。

我这里写的极其简单,有兴趣参考这本书:SSH the Secure Shell 2nd Edition

或者参看RFC:http://www.ietf.org/rfc/rfc4251.txt

也可看看这里:http://www.51cto.com/art/200511/12308.htm
在Cisco IOS设备上启用SSH

Cisco 在SSH的支持上动作迟缓,12.0开始引入SSH-1,12.1开始引入SSH-2,至今都只实现了一个精简版的SSH,很多东西都不支持,比如 BlowFish算法。Cisco似乎并不是很热心于SSH带来的安全性。可能在Cisco的逻辑中,对网络设备的访问处于严格受限专网当中,想从中进行 Sniffer非常不容易。我也亲见过许多大型运营商的DCN网里面完全采用了Telnet,似乎也没有什么大的问题。因为,如果入侵者是处心积虑的高手,SSH也存在着问题,比如man-in-the-middle攻击,处理起来就会加大管理成本。还是那句话,安全是没有绝对的。

对于没有专网,同时在限定访问地址范围内存在Sniffer可能性的网络设备,开启SSH还是有必要的,下面就是配置步骤:

1、设定IOS设备主机名

Router(config)#host SSH-Test

2、设定IOS设备所在域名

SSH-Test(config)#ip domain-name test.com

3、建立RSA公钥(这是我们前面提到的哪一个Key?)

SSH-Test(config)#crypto key generate rsa

这时系统会提示你输入modulus的长度,默认为512,取值范围是360-2048,越长安全性越好,但Key的生成时间也会越长,这是个2500上的耗时参考表:

Router 360 bits 512 bits 1024 bits 2048 bits (maximum) Cisco 2500 11 seconds 20 seconds 4 minutes 38 seconds more than 1 hour

注意,这条命令是一次性的,不会被保存到startup-config中。但是在执行这条命令后再保存配置,所生成的RSA Key会被保存到nvram的Private-Config中。

RSA Key可以用这条命令查看:

SSH-Test#sh crypto key mypubkey rsa

4、设置ssh访问特性(可选)

SSH-Test(config)#ip ssh time-out 60

!ssh会话超时时间,以秒为单位

SSH-Test(config)#ip ssh authentication-retries 3

!ssh登录认证重试次数

5、开启本地用户认证

SSH-Test(config)#username test password test

SSH-Test(config)#line vty 0 4

SSH-Test(config-line)#login local

!也可以用aaa new-model命令

6、限定只能用SSH登录

SSH-Test(config)#line vty 0 4

SSH-Test(config-line)#transport input ssh

7、用access-class限定特定IP可以向本设备发起SSH连接

好了,可以用PuTTY测试一下了。

补充:

1、Cisco上的3DES Feature是要花钱买的,如果你用的是普通DES加密的时候,PuTTY会提示你,确认即可。

2、将Cisco IOS作为SSH客户端时,使用ssh命令即可,参数很简单。注意从一个3DES设备访问一个DES设备的时候,要用-c参数将加密算法改为DES。

3、开启SSH服务后,banner login将不被显示,banner motd将在登录后显示。

【编辑推荐】

  1. 2.6.4 Telnet接入和SSH接入
  2. 简单介绍jBPM与SSH的完整实例
  3. 通过SSH在位于F5后面的SUSE Linux上配置jdk和tomcat

相关内容

热门资讯

PHP新手之PHP入门 PHP是一种易于学习和使用的服务器端脚本语言。只需要很少的编程知识你就能使用PHP建立一个真正交互的...
网络中立的未来 网络中立性是什... 《牛津词典》中对“网络中立”的解释是“电信运营商应秉持的一种原则,即不考虑来源地提供所有内容和应用的...
各种千兆交换机的数据接口类型详... 千兆交换机有很多值得学习的地方,这里我们主要介绍各种千兆交换机的数据接口类型,作为局域网的主要连接设...
什么是大数据安全 什么是大数据... 在《为什么需要大数据安全分析》一文中,我们已经阐述了一个重要观点,即:安全要素信息呈现出大数据的特征...
如何允许远程连接到MySQL数... [[277004]]【51CTO.com快译】默认情况下,MySQL服务器仅侦听来自localhos...
如何利用交换机和端口设置来管理... 在网络管理中,总是有些人让管理员头疼。下面我们就将介绍一下一个网管员利用交换机以及端口设置等来进行D...
P2P的自白|我不生产内容,我... 现在一提起P2P,人们就会联想到正在被有关部门“围剿”的互联网理财服务。×租宝事件使得劳...
Intel将Moblin社区控... 本周二,非营利机构Linux基金会宣布,他们将担负起Moblin社区的管理工作,而这之前,Mobli...
施耐德电气数据中心整体解决方案... 近日,全球能效管理专家施耐德电气正式启动大型体验活动“能效中国行——2012卡车巡展”,作为该活动的...
Windows恶意软件20年“... 在Windows的早期年代,病毒游走于系统之间,偶尔删除文件(但被删除的文件几乎都是可恢复的),并弹...