SSH通信两种方式的原理

简介:

SSH通信第一种

帐号密码验证  :

http://images2015.cnblogs.com/blog/828019/201701/828019-20170104111525691-1181039165.png

当用户向服务器发起SSH请求的时候,服务器将自己的公钥发给客服端

客服端将自己的帐号密码用服务器发来的公钥进行加密,

最后服务器端用自己的私钥对收到的数据进行解密。

但是无法确保中间人冒充服务器攻击这种情况。


第二种    公钥验证方式

http://images2015.cnblogs.com/blog/828019/201701/828019-20170104140144831-1650956401.png



说明:

  (1) 首先在客户端生成一对密钥(ssh-keygen);

  (2) 并将客户端的公钥ssh-copy-id 拷贝到服务端;

  (3) 当客户端再次发送一个连接请求,包括ip、用户名;

  (4) 服务端得到客户端的请求后,会到authorized_keys中查找,如果有响应的IP和用户,就会随机生成一个字符串,例如:qwer;

  (5) 服务端将使用客户端拷贝过来的公钥进行加密,然后发送给客户端;

  (6) 得到服务端发来的消息后,客户端会使用私钥进行解密,然后将解密后的字符串发送给服务端;

  (7) 服务端接受到客户端发来的字符串后,跟之前的字符串进行对比,如果一致,就允许免密码登录。

      (8)在过程中还会调用SSL生成密钥,并且用自己的私钥加密,发送给服务端,服务端接收到该私钥后,认证完成后,以后通信就用这个对称密钥加密。

     本文转自 zfno11 51CTO博客,原文链接:http://blog.51cto.com/zfno111/1891277



相关文章
|
8月前
|
算法 安全 网络协议
ssh工作流程及其原理——ssh免密登录
ssh工作流程及其原理——ssh免密登录
192 0
|
1月前
|
安全 算法 Linux
SSH协议的原理和使用:深入剖析SSH协议的原理和使用方法
SSH协议的原理和使用:深入剖析SSH协议的原理和使用方法
83 0
|
运维 大数据 Shell
【大数据开发运维解决方案】做SSH免密通信后仍需输入密码问题解决
同事对分配的三台服务器服务器a、b、c三台机器做ssh免密通信,但是b机器做ssh免密通信后访问c节点仍需输入密码,需要解决!!!
【大数据开发运维解决方案】做SSH免密通信后仍需输入密码问题解决
|
网络安全 数据安全/隐私保护
SSH远程免密登录的两种方式
服务器之间经常需要有一些跨服务器的操作,此时就需要我们在一台服务器上登录到另外一台服务器,若是人为操作时我们都可以每次输入密码进行远程登录,但要是程序需要跨服务器时,每次输入密码就不现实了,所以我们需要免密登录
8360 0
SSH远程免密登录的两种方式
|
网络安全 开发工具 数据安全/隐私保护
ssh方式已经out了,AccrssToken了解下
在过往中,我们都是本地配置ssh生成key,然后在github的ssh中粘贴本地生成的key,这种方式其实挺繁琐的,如果我换一台电脑,貌似我又需要重复一遍这样的操作
124 0
ssh方式已经out了,AccrssToken了解下
|
Linux 网络安全 数据安全/隐私保护
SSH登录树莓派、远程桌面登录树莓派以及VNC方式登录树莓派
SSH登录树莓派、远程桌面登录树莓派以及VNC方式登录树莓派
293 0
SSH登录树莓派、远程桌面登录树莓派以及VNC方式登录树莓派
|
网络安全 开发工具 数据安全/隐私保护
使用 SSH 方式拉取代码
使用 SSH 方式拉取代码
1492 0
使用 SSH 方式拉取代码
|
Linux 网络安全 开发工具
git Lab ssh方式拉取代码失败
gitLab在linux上已经安装好了, 在配置项目的时候报如下异常
692 0
git Lab ssh方式拉取代码失败
|
监控 Java 网络安全
【SSH快速进阶】——Spring AOP原理及其实现
  上篇文章简单总结了一下静态代理以及JDK和Cglib两种方式实现的动态代理。由此也延伸出了一个重要的编程思想:AOP。
【SSH快速进阶】——Spring AOP原理及其实现