ssh X 转发的 xauth 错误

ssh X 转发的 xauth 错误

我正在尝试从我的(Debian)桌面计算机使用 ssh 进入 Debian 服务器

 ssh -X remote-ip

登录到远程主机后,我得到:

 /usr/bin/X11/xauth:  creating new authority file /root/.Xauthority
 /usr/bin/X11/xauth: (stdin):1:  bad display name "unix:10.0" in "remove" command
 /usr/bin/X11/xauth: (stdin):2:  bad display name "unix:10.0" in "add" command

而且 X Forwarding 不起作用。从我的桌面,我可以通过 ssh -X 进入其他 Debian 服务器,它工作正常。我在 Google 上发现了很多讨论类似问题的帖子,但它们似乎都没有解决方案,而且那里建议的简单操作(如导出 DISPLAY 或设置 xhost +)似乎没有什么区别。

答案1

尝试-Y代替-X

ssh -Y remote-ip

从 ssh 手册页中,这“启用受信任的 X11 转发。受信任的 X11 转发不受 X11 SECURITY 扩展控制的约束。”

如果有效,您可以添加到 ~/.ssh/config:

Host remote-ip
ForwardX11Trusted yes

并且您不需要明确添加-Y

要弄清楚为什么这台远程机器的行为与其他机器不同,请查看文件sshd_config- 在 RedHat 上位于 /etc/ssh/sshd_config 中。我不知道它是否位于 Debian 上的其他位置。

有关相关问题的更多讨论另一个超级用户问题。

答案2

将您要连接的主机名添加到您的 dns 或 hosts 文件。使用ssh -X root@hostname而不是 ip 重新连接。- 如有必要,请删除任何有问题的密钥。

答案3

我无法解决这个问题,即使确保了工作机器和非工作机器上的配置文件相同。为了解决这个问题,我安装了 x11vnc,并使用 vnc 协议而不是 X11。

相关内容