导航

SSH数据交互过程【转】

Posted on 2012-07-02 16:56  eastson  阅读(1006)  评论(0编辑  收藏  举报

最近发现一篇介绍SSH数据交互过程的文章,描述得很清楚,转载在这里。

 

 

(1)SSH启动时,会主动找/etc/ssh/ssh_host*文档,系统刚安装好时是没有这些公钥密钥的,因此,SSH会计算这些公钥,同时也计算出自己需要的私玥文档

(2)当客户机请求连接到SSH服务器,这需要相应的软件,Putty(免费)、SecureCRT和Xshell 4,最好不要下载中文版,有后门。

(3)服务器接到请求后,传送通过第一步计算得到的公钥给客户端(这里可能是明码传送,公钥本来就是公开的)

(4)a.若客户端第一次连接服务器,则会将服务器公钥数据记录。    b.若是已经记录过该服务器的公钥数据,则客户端会去比对此次接收到的与之前的记录是否有差异。若接受此公钥数据, 则开始计算客户端自己的公私钥数据

(5)用户将自己的公钥传送给服务器。此时服务器:『具有服务器的私钥与客户端的公钥』,客户端则是: 『具有服务器的公钥以及客户端自己的私钥』,你会看到,在此次联机的服务器与客户端的密钥系统 (公钥+私钥) 并不一样,所以才称为非对称式密钥系统喔。

(6)a.服务器到客户端:服务器传送数据时,拿用户的公钥加密后送出。客户端接收后,用自己的私钥解密;      b.客户端到服务器:客户端传送数据时,拿服务器的公钥加密后送出。服务器接收后,用服务器的私钥解密。

 

SSH联机过程,前5步的目的要让服务器和客户端各自拥有自己的公私玥和对方的公钥,第六步则是实现,服务器拿客户端的公钥加密数据传给客户端,只有这个客户端的私玥才能解密,其它任何人截获其数据都会因为没有对应的私玥而无法打开(因为私玥和公钥是成对的!),反过来,客户端传数据给服务器也是一样。

 

原文地址:http://isway.cn/?p=64