如何通过禁用UseRoaming来修复OpenSSH的客户端错误CVE-0216-0777和CVE-0216-0778
来自菜鸟教程
OpenSSH 项目今天报告了一个影响 OpenSSH 版本 5.4 - 7.1 的客户端问题。 此问题可能允许 SSH 客户端泄露关键信息,从而可能使用户受到中间人攻击。
##这是什么意思?
当 SSH 客户端连接到服务器时,会启动密钥交换。 可以利用 OpenSSH 客户端中包含的新“漫游”功能,并且恶意服务器可以利用此问题将客户端内存泄漏到服务器,包括私人客户端用户密钥。
- 谁受到影响?
此问题会影响大多数现代操作系统(包括 Linux、FreeBSD 和 Mac OSX)上的 OpenSSH 客户端(而非服务器)。 此问题也可能会影响在 Windows 上运行 OpenSSH 的用户,但不会影响在 Windows 上使用 PuTTY 的用户。
这意味着您不必在 Droplet(服务器端)上更新 OpenSSH,但您应该在本地计算机上更新 OpenSSH 客户端。 如果您想覆盖所有基础,您可以生成新的密钥对并将新的公钥上传到您的服务器(有关详细信息,请参阅倒数第二部分)。
- 如何解决问题
虽然正在为受影响的发行版推出补丁和更新,但可以手动禁用导致此安全问题的功能以解决问题。 在 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 会话以使更改生效。
对于有安全意识的人:重新生成所有密钥对
如果您认为有人使用此漏洞获得了您的私钥的访问权限,或者您想“以防万一”覆盖您的基础,您应该重新生成所有密钥对并将新的公钥上传到您的服务器。