OpenSSH项目今天报告了一个影响OpenSSH版本5.4 - 7.1的客户端问题。 此问题可能会允许SSH客户端泄露关键信息,从而可能向用户展示中间人攻击。
这是什么意思?
当SSH客户端连接到服务器时,将启动密钥交换。 可以利用OpenSSH客户端中包含的新的“漫游”功能,恶意服务器可以使用此问题将客户端内存泄漏到服务器,包括私有客户端用户密钥。
谁受影响?
此问题影响大多数现代操作系统(包括Linux,FreeBSD和Mac OSX)上的OpenSSH客户端(而不是服务器)。 此问题也可能会影响运行OpenSSH for Windows的用户,但不会影响在Windows上使用PuTTY的用户。
这意味着您不必更新您的Droplet(服务器端)的OpenSSH,但您应该更新本地计算机上的OpenSSH客户端。 如果要覆盖所有基础,可以生成新的密钥对,并将新的公钥上传到服务器(有关详细信息,请参见第二个到最后一个部分)。
如何修复isssue
虽然针对受影响的分发版提供了修补程序和更新,但可以手动禁用导致此安全问题的功能,以便解决问题。 在OS X,Linux和BSD版本中,这可以通过在SSH配置中添加一行来实现。
在Linux和FreeBSD上
运行以下命令将新行添加到您的配置中:
echo 'UseRoaming no' | sudo tee -a /etc/ssh/ssh_config
在Mac OSX上
运行以下命令将新行添加到您的配置中:
echo "UseRoaming no" >> ~/.ssh/config
关闭并重新打开会话
一旦你这样做,你应该关闭任何打开的SSH会话,以使更改生效。
对于安全意识:重新生成所有的密钥对
如果您认为有人使用此漏洞获取了您的私钥,或者您想覆盖您的基础(以防万一),您应该重新生成所有密钥对,并将新的公钥上传到您的服务器。
了解更多
OpenSSH:客户端错误CVE-0216-0777和CVE-0216-0778
Ubuntu - USN-2869-1:OpenSSH漏洞