尝试 ssh -Y

尝试 ssh -Y

当我ssh -X在 Mac(运行 OS X 10.6.7)上连接我的 Ubuntu(11.04)时,出现以下警告:

警告:不受信任的 X11 转发设置失败:未生成 xauth 密钥数据警告:没有 xauth 数据;使用虚假的身份验证数据进行 X11 转发。

我能做些什么来消除这个警告吗?如果不行,我可以安全地忽略它吗?

X11 转发似乎工作正常,但我确实看到了以下消息:

Xlib:显示“localhost:10.0”时缺少扩展“RANDR”。

这与警告有关吗?(我猜没有。如果没有,我会就此提出一个新问题。)

答案1

尝试 ssh -Y

您不想使用-Yflag 而不是-Xflag 的原因是什么?

-X很简单,和之间的区别-Y在于-Y启用可信 X11 转发。

答案2

谨防(厌倦阅读导致安全漏洞的不完整答案)

  1. 使用 ssh -Y 意味着这里有虚假的 xauth 信息,这很糟糕!

  2. ssh -X 应该可以工作,因为一旦启用 XQuartz,它就会使用 xauth。唯一的问题是 ssh 在 /usr/X11R6/bin 中寻找 xauth,而在装有 XQuartz 的 macos 上,它在 /opt/X11/bin 中。

安全解决:

  1. 启用第一个选项安全首选项选项卡(Cmd-,),用于启用经过身份验证的连接

  2. 添加以下内容$HOME/.ssh/config

    XAuthLocation /opt/X11/bin/xauth

  3. ssh -X you_server以安全的方式工作

答案3

如果您在 2015 年来到这里:即使其他一切都设置正确,在使用ssh -X和运行 XQuartz 版本 <= 2.7.7 时,Mac OS X 10.10 Yosemite 上也可能发生这种情况。根本原因是 X11 显示套接字写入 xauth 搜索路径之外:问题#2068在 XQuartz 追踪器中。

编辑:修复后的 XQuartz 已在新主页上发布,xquartz 网站,并从那里安装最新版本(当前为 2.7.9)将解决该问题。

答案4

如果您在使用时也收到相同的消息-Yxauth则可能是服务器上缺少该程序。在类似 Debian 的系统上,您需要该xauth软件包。在类似 RedHat 的系统上,您需要该xorg-x11-xauth软件包。

相关内容