SSH-X“;警告:不受信任的X11转发设置失败:未生成xauth密钥数据";

SSH-X“;警告:不受信任的X11转发设置失败:未生成xauth密钥数据";,ssh,xorg,xserver,Ssh,Xorg,Xserver,嘿,我在让ssh X转发工作时遇到了一个问题。设置是我正在OSX约塞米蒂主机上安装ubuntu虚拟机 我已经在OSX上安装了xQuartz,在ubuntu上安装了xauth,我相信我已经在ssh_配置文件中设置了所有正确的选项 我明白了 Warning: untrusted X11 forwarding setup failed: xauth key data not generated X11 forwarding request failed on channel 0 使用ssh-X打开连

嘿,我在让ssh X转发工作时遇到了一个问题。设置是我正在OSX约塞米蒂主机上安装ubuntu虚拟机

我已经在OSX上安装了xQuartz,在ubuntu上安装了xauth,我相信我已经在ssh_配置文件中设置了所有正确的选项

我明白了

Warning: untrusted X11 forwarding setup failed: xauth key data not generated
X11 forwarding request failed on channel 0
使用ssh-X打开连接时以及我尝试运行X应用程序时显示的消息:

xterm: Xt error: Can't open display:
xterm: DISPLAY is not set

除了运行Mavericks之外,我在我的另一台机器上有相同的设置,它工作正常,有什么特定于Yosemite的东西我需要担心吗?

升级到Yosemite后,我收到了与您相同的警告。 在我的
~/.ssh/config
文件中添加了
ForwardX11Trusted yes
后,警告消失了

~/.ssh/config
文件中是否有以下行用于启用受信任的X11转发

Host APPROPRIATE_HOSTNAME
    ForwardX11Trusted yes
    ForwardX11 yes
    OTHER_OPTIONS

ForwardX11Trusted是必需的,即使当您的X服务器没有安全扩展时,您认为不受信任的连接也是如此(苹果服务器有大量占据100多行的视频,因此我建议“xdpyinfo | grep SECURITY”进行检查;如果没有返回任何输出,您就没有它)。可能还有其他原因和例外,但这对我来说是有效的。

在macOS Sierra上,我现在必须执行
ssh-Y
而不是
ssh-X
,才能从linux机器上获得一个显示器,以便在我的Mac上工作。

我刚刚下载了最新的X11版本,它再次工作。

我已经安装了最新的XQuartz 2.7.11,但我想从那以后我也更新了几次操作系统。我重新安装了XQuartz 2.7.11,现在工作正常。

登录集群时,不要使用-X或-Y选项

例如:

ssh -Y remotelogin: gives me X11 related warning. 

ssh remotelogin:无警告,工作正常。

请注意,一些不完整的答案可能会导致安全漏洞

  • 在这里使用ssh-Y意味着拥有虚假的xauth信息,这是不好的
  • ssh-X应该可以工作,因为XQuartz一旦启用,就会使用xauth。唯一的问题是ssh在
    /usr/X11R6/bin
    中查找xauth,而在使用XQuartz的macOS上,它在/opt/X11/bin中
  • 安全解决方案:

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

  • 编辑
    ~/.ssh/config
    ,将
    XAuthLocation/opt/X11/bin/xauth
    添加到主机配置中

  • ssh-X您的_服务器
    以安全的方式工作

  • 确保目标主机上安装了xauth


  • Gilles Gouailladet有一个答案可以帮我解决这个问题。编辑~/.ssh/config以包含

    Host *
        XAuthLocation /opt/X11/bin/xauth
    

    ssh-X主机名现在可以工作了(XQuartz 2.7.11,macOS 10.4 Mojave)

    我刚刚用macOS X 10.6.8到Linux Debian 9解决了这个问题。 所提供的解决方案都不起作用

    根本原因是:目标Linux主机上的环回接口“关闭”

    我必须在目标主机上键入以下内容来修复此问题


    ip链路设置与上面用户的回答相同。但是在我的.ssh目录中没有ssh\u配置文件。
    1.将./etc/ssh#u config复制到~/.ssh/#文件(如果不存在)
    2.编辑
    主机名
    是的
    是的

  • 如前所述,我想补充一件事,这将有助于重新安装X-supporting软件


  • 很高兴听到有人让它工作了。你说的是ssh的哪一面?我在ubuntu上的~/.ssh/config中有这个警告。我不再得到警告,但我仍然得到通道0上的X11
    转发请求失败
    ssh设置应该在“客户端”,即您的Mac计算机上进行调整,因为您正试图从Mac进行ssh以使用主机ubuntu VM计算机。(为什么你想ssh到ubuntu虚拟机?)适用于macOS High SierraI在Redhat中得到了同样的警告,并且在
    /etc/ssh/ssh\u config
    中更改了配置文件就成功了。谢谢你找到了-重新安装相同(最新)版本的XQuartz对我来说很有用,我也不得不这么做;自从升级macOS后,我就没有尝试过使用X转发,虽然XQuartz可以很好地启动,但转发不起作用。这在其他答案都不起作用的情况下起作用。这对我使用Big Sur也起作用。@TobySpeight这个答案解决了我的OSX->Linux登录问题。就我而言,这很有帮助。向上投票。这修复了我的X转发被升级到OSX High Sierra破坏后在OSX Mojave上不起作用,但@XValidated下面的答案成功连接,虽然显示了关于缺少xauth数据的警告。我在Mojave上尝试了此操作,但它使
    ssh-X…
    挂起。升级到Mojave后,我在OP中遇到了错误。这修复了问题。这可能解决了问题,但它也启用了可信转发,而不是更安全的可信转发@Koko的回答为我解决了这个问题,而不必使用“-Y”而不是“-X”,这是更好的选择。
    -X
    并不总是必要的,所以…如果你不需要远程X,那么就不要使用
    -X
    ,明白了:)顺便说一句,目标主机上也需要xauth