题 “警告:不受信任的X11转发设置失败:未生成xauth密钥数据”是指什么时候使用-X进行ssh?


我用的时候 ssh -X 在我的Mac(运行OS X 10.6.7)上连接到我的Ubuntu(11.04)框,我收到以下警告:

警告:不受信任的X11转发   安装失败:xauth密钥数据没有   生成警告:没有xauth数据;   使用X11的伪认证数据   转发。

我有什么办法可以让这个警告消失吗?如果没有,我可以放心地忽略它吗?

X11转发似乎工作正常,但我确实看到这样的消息:

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

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


112
2018-05-25 22:41




是安装在ubuntu服务器上的xauth程序吗? - slubman
sudo apt-get install xauth 告诉我“xauth已经是最新版本” - Daryl Spitzer
登录ubuntu服务器时,'which xauth'的输出是什么? - slubman
确实,我认为你应该阅读这个解释: mail-archive.com/cygwin-xfree@cygwin.com/msg17927.html ......你可以忽略这个警告 - slubman
偶尔这可能是由你的〜/ .Xauthority文件引起的。如果删除它,将在您下次尝试登录时重新创建。 - michael


答案:


你不想使用-Y标志而不是-X标志的任何原因?

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


125
2018-02-01 22:02



不,当我写这个问题时,我只是不知道-Y标志。我相信这确实是一个解决方案。改变你的答案,这不是一个问题(如果你简单解释-Y和-C之间的差异会很好)我​​会接受它。 - Daryl Spitzer
有什么情况你不想使用-Y而不是-X? - Rooster
@Rooster用于非常旧的系统,其中-Y不受支持我会说 - Petr
疑难解答提示:运行“ssh -vv ...”并查找xauth行和任何错误消息。您可以尝试直接运行它显示的xauth行。对于我的我需要它像“xauth list:0”(可信)而不是“xauth -f / tmp / ssh ... list:0”(不可信)。其中-Y fixed和远程主机/ etc / ssh / ssh_config(或〜/ .ssh / config)中的“ForwardX11Trusted yes”也已修复。 - Curtis Yallop
该解决方案也适用于Cygwin / X. - linux64kb


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

编辑:固定的XQuartz已在新主页上发布, xquartz.org从那里安装最新版本(目前是2.7.9)将解决这个问题。


22
2018-05-13 15:09



谢谢!我有 不知道 XQuartz我 只是 从XQuartz页面顶部下载的实际上并不是最新版本。 - craigds
值得注意的是 brew install xquartz 目前安装过时的2.7.7版本。 - Martin Cleaver
brew install Caskroom/cask/xquartz 应该通过HomeBrew为您提供最新的XQuartz - Nick
或者更短 brew cask install xquartz。 - Franklin Yu


即使使用,如果您收到相同的消息 -Yxauth 程序可能在服务器上丢失。在类似Debian的系统上,你需要 xauth 包。在类似RedHat的系统上,您需要 xorg-x11-xauth 包。


14
2017-07-17 08:35





在此上下文中,“不受信任”意味着您不信任该连接。 SSH将使用其他安全措施来尝试使X11转发更安全。 “受信任”意味着您完全相信远程主机上的任何操作都不会访问您的Xauth数据并使用它来监控您的击键。

这个术语实际上困扰了我多年。我认为“值得信赖”的联系更安全。但实际上,这是一个你应该在连接值得信赖的情况下使用的选项,并且你想在没有额外安全措施阻碍的情况下运行东西。 “不受信任”是使得(在某种程度上)更安全地处理不受信任的远程主机的过程。

“不受信任”连接尝试通过使用X11安全扩展并禁用您(希望)不需要的其他扩展来限制黑帽对您的影响。这可能是为什么RandR被-X禁用的原因。您是否需要能够从远程主机旋转X显示器?

同样重要的是要注意“不受信任的”X11转发会在一定时间后关闭,以防止意外丢失。在此之后,打开Windows的新尝试将失败。在我阅读足够的文档以了解发生的事情之前,我有点咬过我几次。


11
2018-02-17 17:36





我没有可以表现出这种行为的设置,所以这是一个黑暗中的镜头:

如果设置,可能会禁止警告 ForwardX11Trusted 至 "no" 对于发出此警告的主机。您可以将其放入其中 ~/.ssh/config 要么 /etc/ssh/ssh_config,您可以通过包含特定主机的选项 Host <hostname> 在上面的线上。该 <hostname> 组件匹配您在命令行上键入的内容(不是已解析的主机名),它可以包含通配符。


8
2018-06-13 20:03



一个人可以使用 ssh -Y 做可信的X11转发,但如何修复不受信任的转发呢? - Pavel Šimerda
我在Redhat中遇到了同样的错误,现在我可以通过编辑配置文件来解决它 /etc/ssh/ssh_config 在客户端。谢谢 - Gangadhar Jannu


如果安装 xauth 不能正常工作,一个特别烦人的案件可能会被破坏 .Xauthority 文件。这种特殊情况允许一些X客户端工作,但其他人不会因较新的显示器而失败。删除并重新创建 .Xauthority 文件可以解决这个问题。


5
2017-08-01 17:43





排除服务器端问题

首先,您应该排除任何服务器端问题。你可以 ssh -X 从任何其他主机成功?是否 ssh -Y 工作时 ssh -X 不?在任何一种情况下,假设ssh + X11在您的服务器上正确设置并继续下一部分。

如果你无法检查(你有一台笔记本电脑运行X11,比如说),你可以 ssh 使用假会话从服务器到自身:

  1. export DISPLAY=:44 #(Bourne shell)或
    setenv DISPLAY :44 #(csh / tcsh)
  2. xauth add $DISPLAY MIT-MAGIC-COOKIE-1 1234  #Bogus cookie仅用于此测试
  3. ssh -X localhost env |grep DISPLAY

预期结果:在ssh-to-self会话的远程端应该设置DISPLAY变量。如果没有结果,您的服务器可能配置错误(例如X11库和/或 xauth 命令可能会丢失;或者sshd配置可以设置为拒绝X11访问)

在Mac上:检查Xquartz是否是最新的

按照 Will Angley的回答

检查 ssh -vv -X 产量

您引用的错误消息是一种可能有多种原因的症状。再试一次 ssh -X -vv 远程主机,这应该为您提供有关X11隧道设置失败原因的其他线索。

您是否看到以下消息出现?

debug1:没有xauth程序。
如果是这样,

  1. 记下客户端系统的位置 xauth 命令驻留:
    哪个xauth
  2. 在〜/ .ssh / config的最后添加以下内容(并添加注释以提醒自己将来保留它):
    主持人*
        XAuthLocation / opt / X11 / bin / xauth
    
    根据步骤1的结果调整此路径 - Jan-Willem Arnold的积分

5
2017-08-18 16:34





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

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

2 / ssh -X应该有效,因为XQuartz一旦启用,就会使用xauth。唯一的问题是ssh正在寻找/ usr / X11R6 / bin中的xauth和使用XQuartz的macos,它位于/ opt / X11 / bin中

安全解决:

1 /启用第一个选项 安全 偏好选项卡(Cmd-,) 它启用经过身份验证的连接

2 /添加

XAuthLocation /opt/X11/bin/xauth

在$ HOME / .ssh / config中

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


4
2018-01-31 13:16





我已经安装了最新的XQuartz 2.7.11,但我认为自那时起我已经多次更新了操作系统。我重新安装了XQuartz 2.7.11,现在它运行正常。


-1
2018-04-01 12:52





xauth添加`hostname` / unix:10 MIT-MAGIC-COOKIE-1`openssl rand -hex 16`


-3
2018-06-11 04:27



我不明白...... - Pierre.Vriens