0%

SSH协议

一、基本概念

SSH是客户端和服务器之间一个安全的会话协议,现有SSH-1和SSH-2这两个协议版本。处于OSI七层体系中的应用层。SSH协议被设计用来替代Telnet,rsh,rexec等协议。

二、应用场景

SSH最常见的应用场景是客户端通过SSH连接到服务器建立一个安全会话,然后可以进行用户登录和远程执行命令等操作。
另外一个非常有用的应用场景是“其他应用将SSH建立的安全会话作为数据传输通道(又称为隧道)”,其他应用使用隧道的好处主要有:加密数据内容(加密数据内容,防止被窃听;另外GFW屏蔽访问策略集中有一项策略是分析传输数据内容中是否含有非法关键词,如果传输数据被加密,该策略就会失效),突破防火墙(应用A和应用B之间有防火墙C,C屏蔽了A和B直接连接需要的端口,而开放了SSH连接需要的端口,因而通过SSH隧道可以实现A和B之间的连接)

三、协议实现

当下,OpenSSH是最流行的SSH协议实现软件,支持SSH-1和SSH-2。

四、其他

SSH连接由SSH Client请求建立,一旦SSH连接得以建立,使用该SSH连接的数据通信请求可以由SSH Client发起,也可以由SSH Server发起。
由SSH Client发起数据通信请求比较常见,无需多言;仔细想想,由SSH Server发起数据通信请求也比较好理解,SSH Server管理着所有已建立的SSH连接,自然有能力使用某个选定的SSH连接发起数据通信请求,甚至使用所有的SSH连接群发消息。
举例说明:
服务器A(运行Linux)上运行着SSH Server,现在本地机器(运行Linux)通过SSH Client请求建立了两个SSH连接,相应的就有两个命令行窗口被打开,分别是C1和C2,假如在C1窗口中执行“wall hello”命令,那么在C2窗口中也会打印“hello”这个消息。这就证明了上述论述是正确的。


参考文献: [1]https://en.wikipedia.org/wiki/Secure_Shell [2]https://zh.wikipedia.org/wiki/OSI%E6%A8%A1%E5%9E%8B
您的支持将鼓励我继续分享!