恼人的消息“X11 连接因错误身份验证而被拒绝”,而根本没有问题

恼人的消息“X11 连接因错误身份验证而被拒绝”,而根本没有问题

我有一个烦人的问题。

当我通过 SSH 登录到特定主机时,会出现以下消息

X11 connection rejected because of wrong authentication.

大约每分钟发生一次,看似随机发生三次。我不知道它从哪里来。

事实上,X11转发甚至没有任何小问题,它就像一个魅力。但这条信息不断出现,让我抓狂。

有谁知道如何摆脱它?

无论我来自哪里,我都面临着这个问题,它发生在我的 Gnome 桌面上,也发生在使用 PuTTY、MobaXterm、Cygwin 等的 Windows 系统上。


经过更多的调整后,我发现原因是监控代理(check_mk)。这会检查正在运行的任务的一些运行时参数,每次从监控系统触发此代理时,即在检查 PostgreSQL 状态时,都会出现该消息。该进程似乎尝试打开 X11 连接但失败了。然后,当它尝试使用我转发的 X11 会话时,该消息会被吐出到我的终端会话中。

有没有办法完全禁用此消息?

答案1

我有有趣的版本,眼睛x标志有效但是没有。

这是使用 snap 安装 chromium 的一个功能。

快速解决:

export XAUTHORITY=$HOME/.Xauthority 
chromium

查看更多:

https://unix.stackexchange.com/a/709789/12207

答案2

确保磁盘空间没有用完

运行 df 并确保有足够的磁盘空间,如果磁盘空间不足,请从系统中删除不必要的文件:

$ df -h

如果文件系统有配额,请检查您是否没有超出配额:

$ quota -s

确保 ~/.Xauthority 为您所拥有

运行以下命令来查找所有权:

$ ls -l ~/.Xauthority

运行 chown 和 chmod 修复权限问题 [将 user:group 替换为您的实际用户名和组名]:

$ chown user:group ~/.Xauthority
$ chmod 0600 ~/.Xauthority

确保 X11 SSHD 转发已启用

确保 sshd_config 文件中存在以下行:

$ grep X11Forwarding /etc/ssh/sshd_config

示例输出:

X11Forwarding yes

如果 X11 禁用,请将以下行添加到 sshd_cofing 并重新启动 ssh 服务器:

X11Forwarding yes

确保 X11 客户端转发已启用

确保您的本地 ssh_config 具有以下行:

Host remote-host.com
    ForwardX11 yes

最后,登录远程服务器并从 Mac OS X 或 Linux 桌面系统运行 X11,如下所示:

ssh [email protected]

信息来源如下:http://www.cyberciti.biz/faq/x11-connection-rejected-because-of-wrong-authentication/

希望有帮助。

答案3

我遇到了同样的问题,这对我有用。 (笔记:这不是我的解决方案,但由于我努力找到它,所以我将其重新发布在这里。你可以找到原来的这里这里

1.登录远程服务器

echo $DISPLAY这应该显示您当前的 X11 显示器

xauth list如果控制台上没有打印任何内容,则意味着 ssh 没有在本地显示上正确自动生成 X11 授权 cookie

2.添加授权cookie

xauth add $DISPLAY - `mcookie`这会将您显示器的授权 cookie 添加到 xauth

xauth list检查您的显示器是否已添加

3. 将 cookie 与本地机器合并

xauth nextract ~/xcookie $DISPLAY

exit

在本地:scp user@remote:~/xcookie ~/xcookie

在本地:xauth nmerge ~/xcookie

最后再次登录远程服务器应该就解决了。

答案4

如果您有 SELINUX 强制,并且您的主目录不在 /home 目录下,那就是您的问题。目标 SELINUX 设置假定所有用户主目录都位于 /home 下,因此 xauth 无法正常工作,因为主目录上的 SELINUX 类型不正确。我希望我能推荐一种修复方法,但我发现的方法不起作用。我将 SELINUX 设置为 permissive 来解决这个问题。最好设置正确的标签,例如:

semanage fcontext -a -e /home <custom_path>
restorecon -R -v <custom_path>

相关内容