-
功能:提供安全的远程控制,或传送文件。(实现此功能的传统方式,如telnet协议、ftp协议等都是不安全的,会使用明文传送,SSH就是加密传送的数据)
-
工作原理:
最后传送数据时是双向加解密:
- 服务端到客户端:用客户端的公钥加密,客户端收到后用客户端的私钥解密
- 客户端到服务端:用服务端的公钥加密,服务端收到后用服务端的私钥解密
-
具体工作流程:整个通信过程中,服务端和客户端都要经历以下五个阶段
- SSH版本号协商阶段:SSH1还是SSH2
- 三次握手建立TCP连接 》服务器向客户端发送自己的SSH版本 》客户端向服务器发送自己的SSH版本 》协商成功就进入下一阶段,否则服务器断开TCP连接
- 密钥和算法协商阶段
- 服务器和客户端分别发送算法协商报文给对方(包括自己支持的公钥算法列表、加密算法列表、MAC算法列表、压缩算法列表等 》服务器和客户端根据对端和本端支持的算法列表最终得出使用的算法 》服务器和客户端利用DH交换算法、主机密钥对等参数,生成会话密钥和会话ID
- 认证阶段:SSH客户端向服务器端发起认证请求,服务器端对客户端进行认证
- SSH提供两种认证方式:1)password认证,客户端将用户名和密码加密后发送给服务器;2)publickey认证
- 会话请求阶段:认证通过后,客户端向服务器端发送会话请求
- 交互会话阶段:会话请求通过后,服务器端和客户端进行信息的交互
- SSH版本号协商阶段:SSH1还是SSH2
-
- SSH客户端配置文件:/etc/ssh/ssh_config
- SSH服务端配置文件:/etc/ssh/sshd_config
- 包括监听端口、私钥保存路径、采用的SSH协议版本等信息
SSH协议相关
最新推荐文章于 2024-07-25 08:56:42 发布