科技行者

行者学院 转型私董会 科技行者专题报道 网红大战科技行者

知识库

知识库 安全导航

至顶网网络频道SSH简单原理及在Cisco IOS设备上启用SSH

SSH简单原理及在Cisco IOS设备上启用SSH

  • 扫一扫
    分享文章到微信

  • 扫一扫
    关注官方公众号
    至顶头条

SSH(Secure Shell)是什么呢?权威的说法是:‘Secure shell is a de facto standard for remote logins and encrypted file transfers.’。

作者:51cto 来源:51cto 2009年7月9日

关键字: iOS CISCO 思科

  • 评论
  • 分享微博
  • 分享邮件

  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将在登录后显示。

  相关参考资料:

  http://www.cisco.com/en/US/tech/tk583/tk617/technologies_tech_note09186a00800949e2.shtml

  http://www.cisco.com/en/US/tech/tk583/tk617/tsd_technology_support_protocol_home.html

    • 评论
    • 分享微博
    • 分享邮件
    邮件订阅

    如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。

    重磅专题
    往期文章
    最新文章