几个月来,我已经让 Putty 通过 SSH 连接到我的 Ubuntu 12.10 服务器。昨天我每次连接时都开始出现以下错误:
PuTTY X11 代理:尝试了错误的身份验证协议
除了启动 X Windows 应用程序之外,我可以在会话中做任何事情。据我所知,Windows 端没有任何变化,我最近在正常升级维护期间在 Ubuntu 端安装了 @20 更新。
我在 Windows 客户端上使用 Xming 作为 X 服务器。正如我所说,它工作得很好。我已经准备好搜索此错误的数十个 Google 结果,大多数似乎涉及在尝试将 SU 或 SUDO 连接到另一个帐户时在SSH 连接后发生的错误,但这发生在我的常规用户连接上。
我已经尝试删除我的主目录中的 .Xauthority 文件,还有各种 xauth add 命令来尝试将正确的“magic cookie”恢复到 .Xauthority 文件中。没有任何效果。
有什么想法吗?
如上所述,您可以通过在服务器上的文件ForwardX11Trusted yes中打开并重新启动 sshd 来破坏安全性。/etc/ssh/sshd_config完整的解决方案是暂时将授权转移到另一个帐户。
首先,在您的客户端上从您的帐户获取密钥(在 Windows 上,这是用于 xming 的,并且可能位于 xming 配置中):
$ xauth list
aspc2o1/unix:10 MIT-MAGIC-COOKIE-1 bc664c66cfec3c5c3d5b0efc4ee9d3ad
Run Code Online (Sandbox Code Playgroud)
接下来,登录您的 ssh/putty 帐户并添加 xming 密钥(这实际上可能位于 putty 的配置中)。
$ xauth add aspc2o1/unix:10 MIT-MAGIC-COOKIE-1 bc664c66cfec3c5c3d5b0efc4ee9d3ad
Run Code Online (Sandbox Code Playgroud)
现在,当您通过 ssh 转发 X 显示时,您应该能够打开应用程序。