1. SSH简介
SSH 是 Secure Shell(安全外壳)的简称。
用户通过一个不能保证安全的网络环境 远程登录到设备时,SSH 可以利用加密和强大的认证功能提供安全保障,保护设备 不受诸如 IP 地址欺诈、明文密码截取等攻击。
2. SSH2与SSH1区别
1.
在
SSH1
的联机过程中,当
Server
接受
Client
端的
Private Key
后,就不再针对该次联机的
Key pair
进行检验。此时若有恶意黑客针对该联机的
Key pair
对插入恶意的程序代码时,由于服务端你不会再检验联机的正确性,因此可能会接收该程序代码,从而造成系统被黑掉的问题。
2.
为了改正这个缺点,
SSH2
多加了一个
确认联机正确性的
Diffie-Hellman
机制
,在
每次
数据
传输
中,
Server
都会以该机制检查数据的来源是否正确,这样,可以避免联机过程中被插入恶意程序代码的问题。也就是说,
SSH2
是比较安全的。
3. SSH2工作过程
![](https://img-blog.csdnimg.cn/20191212212020422.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3UwMTAwMzQwODU=,size_16,color_FFFFFF,t_70)
3.1 版本号协商阶段
具体步骤如下:
①
服务器打开端口
22
,等待客户端连接。
②
客户端向服务器端
发起
TCP
初始连接请求,
TCP
连接建立后
,服务器向客户 端发送第一个报文,包括版本标志字符串,格式为“
SSH
-
.<
次协议版本号
>
-”,协议版本号由主版本号和次版本号组成, 软件版本号主要是为调试使用。
③
客户端收到报文后,解析该数据包,如果服务器端的协议版本号比自己的低, 且客户端能支持服务器端的低版本,就使用服务器端的低版本协议号,否则使 用自己的协议版本号。