OpenSSH 是 SSH(Secure SHell)协议的免费开源实现。SSH协议族可以用来进行远程控制,或在计算机之间传送文件。而实现此功能的传统方式,如telnet(终端仿真协议)、rcp ftp、rlogin、rsh都是极为不安全的,并且会使用明文传送密码。OpenSSH提供了服务端后台程序和客户端工具,用来加密远程控制和文件传输过程中的数据,并由此来代替原来的类似服务。 软件简介
Secure Shell(安全外壳协议,简称SSH)是一种加密的网络传输协议,可在不安全的网络中为网络服务提供安全的传输环境。SSH通过在网络中创建安全隧道来实现SSH客户端与服务器之间的连接。虽然任何网络服务都可以通过SSH实现安全传输,SSH最常见的用途是远程登录系统,人们通常利用SSH来传输命令行界面和远程执行命令。使用频率最高的场合类Unix系统,但是Windows操作系统也能有限度地使用SSH。2015年,微软宣布将在未来的操作系统中提供原生SSH协议支持。在设计上,SSH是Telnet和非安全shell的替代品。Telnet和Berkeleyrlogin、rsh、rexec等协议采用明文传输,使用不可靠的密码,容易遭到监听、嗅探和中间人攻击。SSH旨在保证非安全网络环境(例如互联网)中信息加密完整可靠。不过,SSH也被指出有被嗅探甚至解密的漏洞。早在2011年,中国的互联网审查机构已经有能力针对SSH连接的刺探及干扰。而后爱德华·斯诺登泄露的文件也指出,美国国家安全局有时能够把SSH协议传输的信息解密出来,从而读出SSH会话的传输内容。2017年7月6日,非营利组织维基解密确认美国中央情报局已经开发出能够在Windows或Linux操作系统中窃取SSH会话的工具。 在OpenSSH的发展历程中,也曾发现过一些安全漏洞。例如,在OpenSSH 5.2版本之前,攻击者可以以2−14的成功概率恢复多达14位明文。这个漏洞与CBC加密模式有关。OpenSSH 6.8到6.9存在本地特权升级漏洞(CVE-2015-6565),原因是世界可写(622)的TTY设备,这被认为是一种拒绝服务漏洞。恶意或受损的OpenSSH服务器可以利用一个依赖于OpenSSH客户端的未记录的连接恢复功能的漏洞来读取客户端的敏感信息,这个功能称为漫游,它默认在客户端上启用,但在OpenSSH服务器上不受支持。这适用于OpenSSH客户端的5.4(2010年3月8日发布)到7.1版本,并在2016年1月14日发布的OpenSSH 7.1p2中修复。与此漏洞相关的CVE编号是CVE-2016-0777(信息泄漏)和CVE-2016-0778(缓冲区溢出)。
OpenSSH是使用SSH透过计算机网络加密通讯的实现。它是取代由SSH Communications Security所提供的商用版本的开放源代码方案。目前OpenSSH是OpenBSD的子计划。OpenSSH常常被误认以为与OpenSSL有关联,但实际上这两个计划的有不同的目的,不同的发展团队,名称相近只是因为两者有同样的软件发展目标──提供开放源代码的加密通讯软件。