SSH 原理详解
SSH(Secure Shell,安全外壳)是一种网络安全协议,通过加密和认证机
制实现安全的访问和文件传输等业务。传统远程登录或文件传输方式,例
如 Telnet、FTP,使用明文传输数据,存在很多的安全隐患。随着人们对
网络安全的重视,这些方式已经慢慢不被接受。SSH 协议通过对网络数据
进行加密和验证,在不安全的网络环境中提供了安全的登录和其他安全网
络服务。作为 Telnet 和其他不安全远程 shell 协议的安全替代方案,目前
SSH 协议已经被全世界广泛使用,大多数设备都支持 SSH 功能。
SSH 端口号是什么?
当 SSH 应用于 STelnet,SFTP 以及 SCP 时,使用的默认 SSH 端口都是
22。当 SSH 应用于 NETCONF 时,可以指定 SSH 端口是 22 或者 830。SSH
端口支持修改,更改后当前所有的连接都会断开,SSH 服务器开始侦听新
的端口。
SSH 是如何工作的?
SSH 由服务器和客户端组成,在整个通信过程中,为建立安全的 SSH 通
道,会经历如下几个阶段:
连接建立
SSH 服务器在指定的端口侦听客户端的连接请求,在客户端向服务器发起
连接请求后,双方建立一个 TCP 连接。
版本协商
SSH 协议目前存在 SSH1.X(SSH2.0 之前的版本)和 SSH2.0 版本。
SSH2.0 协议相比 SSH1.X 协议来说,在结构上做了扩展,可以支持更多
的认证方法和密钥交换方法,同时提高了服务能力。SSH 服务器和客户端
通过协商确定最终使用的 SSH 版本号。