理解并取证:SSH远程管理协议的工作原理

简介:

  SSH(Secure Shell)它默认的连接端口是22,可以把所有传输的数据进行加密。它是代替Telnet进行安全远程操作一种很好的方式。当然,事实上它不止能代替Telnet进行安全的工作,还能为FTP等应用服务提供安全的传输通道。


第一阶段:(基于口令的安全验证)只要用户知道自己的账号和口令,就可以登录到远程主机。所有传输的数据都会被加密。但是不能保证正在连接的服务器就是用户想连接的服务器。可能会有别的服务器在冒充真正的服务器,也就是受到“中间人”这种方式的攻击。


第二阶段:思科的路由器如果配置了SSH,那么就会在设备上产生一对非对称式的密钥对,一把私钥和一把公钥。私钥是不可公开的,所以设备要保密私钥;公钥是可公开的,所以设备可以将自己的公钥发送给SSH客户端,SSH的客户端拿着公钥来加密数据,所以数据在传送的过程中,是保密的,这样就免除了“中间者的攻击或窃取”。被公钥加密的数据被传送到路由器上时,路由器可以利用自己的私钥来解密数据。这样就保证了数据在传递过程中的安全性,如下图9.4所示。

085610678.png

SSH与Telnet的比较:

nSSH较Telnet具备了更好的安全性。

nSSH还有一个额外的好处就是传输的数据是经过压缩的,所以可以加快传输的速度。


演示:思科路由器SSH的远程管理


演示目标:在路由器上配置SSH服务,并取证SSHTelnet的安全性高。

演示环境:如上9.4所示的演示环境。

演示步骤:


第一步:在思科的路由器上配置SSH。配置指令如下所示:


路由器R1的SSH配置:

R1(config)#line vty 0 4 * 进入vty线路模式。

R1(config-line)#loginlocal * 对远程SSH的用户采取本地安全数据库认证。

R1(config-line)#transportinput ssh * 允许SSH传入。

R1(config)#ip domain-name ccna.com

使用SSH必须为路由器配置域名,这里的域名是ccna.com。

R1(config)#usernameccna password ccna

建立一个路由器的本地安全数据库用户名为ccna密码为ccna

R1(config)#enablepassword ccna * 为路由器配置enable的密码。

R1(config)#crypto keygenerate rsa * 生成路由器的公钥和私钥对。


路由器会有如下提示:

The name for the keys willbe: r1.ccna.com

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

How many bits in the modulus [512]:建立密钥对模数的长度,保持默认就可以了。

% Generating 512 bit RSA keys keys will be non-exportable...[OK]


路由器提示:SSH 1.99被正式启动。

*May 19 13:51:27.707: %SSH-5-ENABLED: SSH1.99 has been enabled


第二步:实现SSH客户机的登录。就目前而言,Windows还没有提供专用的SSH客户端软件,所以需要第三方软件进行支持。而PuTTY就是一款非常好的第三方SSH客户端软件,如下9.5所示。


085718963.png

第三步:利用协议分析器分析SSH的数据帧。在192.168.1.2SSH连接到路由器(192.168.1.1)以前打开的协议分析器,然后完成整个SSH的过程,再暂停协议分析器,可得到如下图9.6所示的数据帧和如下图9.7所示的SSH加密后的效果。

085817350.png

085817424.png



本文转自 kingsir827 51CTO博客,原文链接:http://blog.51cto.com/7658423/1315818,如需转载请自行联系原作者

相关文章
|
28天前
|
网络安全
检查使用IP协议远程维护的设备是否配置SSH协议,禁用telnet协议
检查使用IP协议远程维护的设备是否配置SSH协议,禁用telnet协议
12 0
|
5月前
|
移动开发 监控 安全
通过SSH协议实现的屏幕局域网电脑监控:屏幕安全访问代码
随着科技的不断发展,网络安全问题愈发突出。为了确保屏幕数据的安全,我们需要一种高效可靠的监控方法。本文介绍了一种基于SSH协议的屏幕局域网电脑监控方案,同时提供了相关代码示例,确保屏幕数据的安全传输和访问。
249 0
|
9月前
|
算法 安全 网络协议
ssh工作流程及其原理——ssh免密登录
ssh工作流程及其原理——ssh免密登录
197 0
|
7天前
|
安全 前端开发 Shell
SSH原理与运用
SSH原理与运用
|
23天前
|
网络安全
openstack 使用ssh远程管理云主机
在阿里云平台上,为云主机分配和配置浮动IP涉及以下步骤:首先,在“网络”部分分配一个公共IP,并将其关联到已创建的云主机。接着,在“浮动IP”页面确认绑定成功。然后,进入安全组,为默认安全组添加允许ping和SSH的新规则。通过控制台ping浮动IP以测试连通性。最后,从宿主机修改云主机的hostname并使用SSH登录。至此,SSH登录设置完成。
24 2
openstack 使用ssh远程管理云主机
|
2月前
|
安全 算法 Linux
SSH协议的原理和使用:深入剖析SSH协议的原理和使用方法
SSH协议的原理和使用:深入剖析SSH协议的原理和使用方法
145 0
|
2月前
|
存储 弹性计算 算法
SSH学习(三)- SSH协议中的Public Key Algorithm
在SSH协议中,有两个地方涉及到公钥算法,分别是: 1. 服务端认证:服务端在进行密钥协商的时候证明自己身份,防止中间人攻击,此时为SSH-TRANS协议发生的事情; 2. 客户端认证:客户端通过PublicKey方式证明自己身份,完成SSH登录认证,此时SSH-USERAUTH发生的事情; 这两种情况下的公钥算法使用的是同一个概念,接下来本文将主要基于PublicKey公钥认证方式,学习对应的内容。
49 1
SSH学习(三)- SSH协议中的Public Key Algorithm
|
4月前
|
安全 Shell 网络安全
远程登录安全连接协议SSH(Secure Shell)
SSH(Secure Shell)协议是一种用于在不安全网络上提供安全远程登录、命令执行和数据传输的加密网络协议,通过公钥加密和身份验证技术确保通信的安全性和隐私性。
99 0
|
1月前
|
存储 网络安全 开发工具
Git的GUI图形化工具&ssh协议&IDEA集成Git
Git的GUI图形化工具&ssh协议&IDEA集成Git
119 0
|
5月前
|
Shell 网络安全 开发工具
git02->gui图形化界面使用,ssh协议,idea集成GIT
git02->gui图形化界面使用,ssh协议,idea集成GIT
52 0
git02->gui图形化界面使用,ssh协议,idea集成GIT