X11/SSH 发出“错误身份验证”

X11/SSH 发出“错误身份验证”

最近,我在使用 X11 时遇到了一些问题 - 我花了几个小时在 Google 上搜索并尝试了各种修复方法,但都无济于事。具体情况如下:

  • 我正尝试通过本地网络从我的笔记本电脑登录部门计算机ssh -X。X11 运行了相当长一段时间,然后突然我开始收到错误消息:X11 connection rejected because of wrong authentication
  • 我尝试了大约 6 种不同的方法来解决这个问题。我以为我上周通过修改 的本地副本已经让它正常工作了/etc/ssh/ssh_config,具体来说,我取消了 行的注释ForwardX11Trusted yes。这显然是个侥幸,因为现在它又不能正常工作了
  • 我也尝试过使用 xauth add 将我的 MIT-MAGIC-COOKIE 添加到远程机器,但这似乎不起作用。
  • 尝试了一切这里,特别是我有权限.Xauthority并且我的磁盘还远远没有满(本地和远程)。

以下是我的各种环境变量等的输出:

$ echo $DISPLAY # local machine 
:0.0

$ echo $DISPLAY # remote machine
localhost:10.0

$ xauth list # local
laptop/unix:0 MIT-MAGIC-COOKIE-1 45f1f58762e8040da75508d23df6819e

$ xauth list # remote
# blank

我认为最后一个是关键,但在远程机器上反复尝试 xauth add 似乎并没有改变这一点。

有什么想法吗?如果我可以提供更多输出,请告诉我。谢谢!

答案1

您可能由于以下几个问题而收到此错误:

1 - 磁盘空间不足。使用以下工具检查服务器上的可用空间:df

df -H

如果磁盘空间不足,请从系统中删除不必要的文件。

2 -~/.Xauthority需要适当的所有权和权限

ls -l ~/.Xauthority

您可以根据需要设置适当的权限(如果文件由 root 拥有,则可能需要 sudo)。

chown you_user:your_group ~/.Xauthority
chmod 0600 ~/.Xauthority

3 - 确保已启用 X 转发。您需要一个大写的 X 和ssh -X。此外,在服务器上

grep X11Forwarding /etc/ssh/sshd_config

应该显示

X11转发 是

4 - 确保已启用 X11 客户端转发

在您的客户端上,/etc/ssh/ssh_config 应该包含以下行:

主持人 * ForwardX11 是

然后

ssh -X user@server

应该管用。

答案2

这最终成为了奥卡姆剃刀:最简单的解释曾是真的:

$ df -H
Filesystem             Size   Used  Avail Use% Mounted on
grad2:/u6/#username   247G   113G   121G  49% /u6/#username

看起来我有很多空间,对吧?好吧,事实证明我在该磁盘上确实有配额,但结果已满:

$ quota
Disk quotas for user #username (uid #####): 
     Filesystem  blocks   quota   limit   grace   files   quota   limit   grace
grad2:/u6/#username
            1698264  1700000 1700000           12742       0       0       

清除了一些文件,让管理员增加配额,然后中提琴: X11 又能用了。为什么它不能有一个有用错误消息如“无法启动 X11,因为您的配额/磁盘已满”?我可能在这上面浪费了 5 个小时。

相关内容