您的位置:首页 > 其它

SSH通信两种方式的原理

2017-01-12 11:08 225 查看
SSH通信第一种
帐号密码验证 :



当用户向服务器发起SSH请求的时候,服务器将自己的公钥发给客服端
客服端将自己的帐号密码用服务器发来的公钥进行加密,
最后服务器端用自己的私钥对收到的数据进行解密。
但是无法确保中间人冒充服务器***这种情况。

第二种 公钥验证方式



说明:
  (1) 首先在客户端生成一对密钥(ssh-keygen);
  (2) 并将客户端的公钥ssh-copy-id 拷贝到服务端;
  (3) 当客户端再次发送一个连接请求,包括ip、用户名;
  (4) 服务端得到客户端的请求后,会到authorized_keys中查找,如果有响应的IP和用户,就会随机生成一个字符串,例如:qwer;
  (5) 服务端将使用客户端拷贝过来的公钥进行加密,然后发送给客户端;
  (6) 得到服务端发来的消息后,客户端会使用私钥进行解密,然后将解密后的字符串发送给服务端;
  (7) 服务端接受到客户端发来的字符串后,跟之前的字符串进行对比,如果一致,就允许免密码登录。
(8)在过程中还会调用SSL生成密钥,并且用自己的私钥加密,发送给服务端,服务端接收到该私钥后,认证完成后,以后通信就用这个对称密钥加密。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息