SSH1与SSH2
SSH(Secure Shell)是一种协议,用于在网络上实现数据安全通信。SSH是1995年由Tatu Ylonen(SSH通信安全公司)发现的。该协议为网络中两台计算机之间的数据传输、远程命令执行和安全网络服务提供了基础设施。根据客户机-服务器体系结构(SSH客户端和SSH服务器)管理通信。SSH协议已经开发了SSH1和SSH2两个版本。
SSH1(安全外壳版本1)
SSH协议版本1出现于1995年,它由三个主要协议组成,分别称为SSH-TRANS、SSH-USERAUTH和SSH-CONNECT。
SSH-TRANS:它是传输层协议(TCP/IP),基本上提供服务器身份验证、机密性和完整性。
SSH-USERAUTH:通信建立时用于用户身份验证的协议。该协议对SSH服务器中的SSH客户端进行身份验证。这个协议也运行在传输层上。
SSH-CONNECT:这是一种连接协议,它将加密的数据多路传输到一些逻辑流中。此协议运行在SSH-USERAUTH协议之上。
为了启动安全连接,客户机使用128位加密将其身份验证信息发送到SSH服务器。每个服务器主机都有一个主机密钥,用于验证正确的客户机-服务器通信。另外,它应该具有相关SSH服务器的公钥。每个传输的数据段使用加密算法(DES、3DES、IDEA、Blowfish)加密。
除了远程登录之外,SSH还可以用于隧道、X11连接、SFTP(SSH文件传输协议)、SCP(安全复制)以及TCP端口转发。默认情况下,SSH协议使用TCP端口22。SSH也支持数据压缩。当客户端-服务器以低带宽连接时,此功能非常有用,可用于提高连接的吞吐量。
在SSH版本1.5中,开发人员发现了一些漏洞。在这个版本中,未经授权的数据**到加密数据流的中间,这会给数据安全带来很大的风险。另外,在2001年发现了未经授权的恶意身份验证服务器将身份验证转发给另一个服务器的漏洞。
SSH2(安全外壳版本2)
SSH2于2006年推出,与SSH1相比有许多显著的改进。虽然是对SSH1的改进,但SSH2与SSH1不兼容。SSH2重新编写时添加了更多的防御机制以避免漏洞。
SSH2使用了一组不同的改进和更强的加密和身份验证算法,例如DSA(数字签名算法)。SSH2不再是SSH1那样的自由软件;SSH2的开发者限制了SSH2的****。与SSH1不同,SFTP(安全文件传输)程序内置于SSH2包中,它使用与SSH2相同的加密协议来加密数据流。
SSH1和SSH2有什么区别?许多基于UNIX的操作系统都有内置的SSH功能,许多支持SSH的控制台也为windows系统开发了(TeraTerm、Putty、OpenSSH、WinSCP等)。•如上所述,SSH2是SSH1的一个改进版本。•SSH1有一些已知的文档问题,这些问题在SSH2中进行了更正和重新编码。•通常,最新版本的任何应用程序都支持其旧版本,但SSH2与SSH1不完全兼容,而且还需要SSH2许可。 |