AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / server / 问题 / 422908
Accepted
sorin
sorin
Asked: 2012-08-31 06:42:52 +0800 CST2012-08-31 06:42:52 +0800 CST 2012-08-31 06:42:52 +0800 CST

如何防止警告 No xauth data; 使用伪造的身份验证数据进行 X11 转发?

  • 772

每次我启动从 Mac 到 Linux (Debian) 的 ssh 连接时,我都会收到此警告:

No xauth data; using fake authentication data for X11 forwarding.

这也适用于使用 ssh 的工具,例如 git 或 mercurial。

我只想对我的系统进行本地更改,以防止出现这种情况。

注意:我的 Mac OS X (10.8.1) 上确实有 X11 服务器 (XQuartz 2.7.3 (xorg-server 1.12.4)),它工作正常,我可以在本地或远程成功启动时钟。

ssh
  • 12 12 个回答
  • 172803 Views

12 个回答

  • Voted
  1. nmgeek
    2017-07-05T14:19:51+08:002017-07-05T14:19:51+08:00

    已发布的解决方案均不适合我。我的客户端(桌面)系统运行的是 macOS 10.12.5 (Sierra)。我添加-v了ssh命令的选项,它告诉我,

    debug1: No xauth program.
    

    这意味着它没有正确的xauth程序路径。(在这个版本的 macOS 上,路径xauth是非标准的。)解决方案是将此行添加到/etc/ssh/ssh_config(可能/etc/ssh/config在某些设置中)或~/.ssh/config(如果您没有管理员权限):

    XAuthLocation /opt/X11/bin/xauth
    

    现在警告信息消失了。

    • 117
  2. Best Answer
    sorin
    2012-08-31T06:49:14+08:002012-08-31T06:49:14+08:00

    找到原因,我~/.ssh/config的不完整,你需要两者:

    Host *
        ForwardAgent yes
        ForwardX11 yes
    

    我的错误是我只包含了 ForwardX11 选项。

    • 24
  3. DestinyOne
    2017-09-22T18:05:24+08:002017-09-22T18:05:24+08:00

    让Windows 10上的Ubuntu bash运行ssh -X 在远程服务器上获得GUI环境

    • 第一的

    安装以下所有内容。在 Windows 上,安装Xming. 在 Ubuntu bash 上,使用sudo apt install安装ssh xauth xorg.

    sudo apt install ssh xauth xorg
    
    • 第二

    转到包含ssh_config文件的文件夹,我的是/etc/ssh.

    • 第三

    以管理员身份编辑ssh_config(使用sudo)。在 内部,删除行、、ssh_config中的散列,并将相应的参数设置为。#ForwardAgentForwardX11ForwardX11Trustedyes

    # /etc/ssh/ssh_config
    
    Host *
        ForwardAgent yes
        ForwardX11 yes
        ForwardX11Trusted yes
    
    • 向前

    ssh_config文件中去掉前面的hash和#,在文件末尾也加一行写xauth文件位置, 记得写自己的xauth文件路径。Port 22Protocol 2XauthLocation /usr/bin/xauth

    # /etc/ssh/ssh_config
    
    #   IdentifyFile ...
        Port 22
        Protocol 2
    #   Cipher 3des
    #   ...
    #   ...
        ...
        ...
        GSSAPIDelegateCredentials no
        XauthLocation /usr/bin/xauth
    
    • 第五

    现在我们已经完成了ssh_config文件的编辑,当我们离开编辑器时保存它。现在转到文件夹~或$HOME,附加export DISPLAY=localhost:0到您的.bashrc文件并保存。

    # ~/.bashrc
    ...
    ...
    export DISPLAY=localhost:0
    
    • 最后的

    我们快完成了。重新启动你的 bash shell,打开你的Xming程序并使用ssh -X yourusername@yourhost. 然后享受GUI环境。

    ssh -X yourusername@yourhost
    

    问题也出在 Windows 上的 Ubuntu 子系统中,链接位于

    https://gist.github.com/DestinyOne/f236f71b9cdecd349507dfe90ebae776

    注意:链接文本包含 2 个拼写错误(XauthLocaion而不是XauthLocation)

    • 21
  4. guest
    2015-01-08T15:47:19+08:002015-01-08T15:47:19+08:00

    如前所述,xauth在 OS X Yosemite 上似乎已经退化到一个不支持 XQuartz$DISPLAY设置的旧版本:

    % xauth -V
    1.0.9
    % xauth generate $DISPLAY .
    xauth: (argv):1:  bad display name "/private/tmp/com.apple.launchd(...)/org.macosforge.xquartz:0" in "add" command
    
    • 14
  5. ssanch
    2019-02-23T12:27:10+08:002019-02-23T12:27:10+08:00

    我会将其添加为评论,但我没有足够的代表。在sorin的解决方案中再添加一行对我有用。

    在客户端机器上,使用以下命令编辑您的 ssh 配置文件vim ~/.ssh/config

    然后将这些行添加到它:

    Host *
        ForwardAgent yes
        ForwardX11 yes
        XAuthLocation /opt/X11/bin/xauth
    

    您可以通过以下方式仔细检查您的xauth位置:

    which xauth
    
    • 3
  6. Red Tux
    2012-09-08T21:29:36+08:002012-09-08T21:29:36+08:00

    目前 MacOS 中存在一个错误。我也遇到过这个。我的修复涉及将以下内容添加到我的 .bash_profile

    dispdir=`dirname $DISPLAY`
    dispfile=`basename $DISPLAY`
    dispnew="$dispdir/:0"
    if [ -e $DISPLAY -a "$dispfile" = "org.x:0" ]; then
      mv $DISPLAY $dispnew
    fi
    export DISPLAY=$dispnew
    

    本质上,与您的 X root 关联的文件管道的名称无法正确处理,因此需要更正。:-)

    • 2
  7. Marcel Kraan
    2017-04-03T02:01:32+08:002017-04-03T02:01:32+08:00

    我刚刚从我的根文件夹中删除了 ~/.Xauthority(目标机器)并再次 ssh -X 192.168.123.1 并且 ik 工作了。

    • 2
  8. Kepler Oliveira Filho
    2017-08-02T06:45:04+08:002017-08-02T06:45:04+08:00

    包含

    ~/.ssh/config 中的 XAuthLocation /opt/local/bin/xauth

    在我的 macOS Sierra 10.12.6 中为我工作。答案 7) 的一个小改动。

    • 2
  9. Irfy
    2019-11-08T03:37:49+08:002019-11-08T03:37:49+08:00

    在将我的 Cygwin 安装从一台 PC 移动到另一台 PC 后,这开始发生在我身上。问题似乎是主机名更改:魔术 cookie 不再对应于新 PC 的主机名。

    跑步

    touch ~/.Xauthority
    xauth add :0 . `mcookie`
    

    在本地 Cygwin 安装上为我解决了这个问题——xauth list现在列出了一个与新 PC 的正确主机名关联的魔术 cookie,并且警告不再出现。

    • 2
  10. all-informatic
    2017-06-10T06:44:27+08:002017-06-10T06:44:27+08:00

    在我的例子中,问题是 .Xauthority 包含未转发的 Magic cookie,Fabby 在http://askubuntu.com/questions/571116/上建议在 2014-11-14 将此行添加到 .bashrc 或. 配置文件以允许在调用 su 时在用户之间转发 xauth 密钥:

    export $(dbus-launch)
    

    我之前还添加了:

    export XAUTHORITY=~/.Xauthority 
    

    确保使用 ssh -X ̍@ 调用的远程会找到它。

    在我的例子中,.Xauthority 是原始用户 /home//.Xauthority 的符号链接,我从...

      cd /home/<child_user>;ln -sf /home/<parent_user>/.Xauthority .xAuthority
    

    具有正确的权利:

      sudo chown <parent_user> /home/<parent_user>/.profile
      chmod a+rw /home/<parent_user>/.profile 
    

    所以它可以访问到和到。将能够在整个代理帐户的本地屏幕上触发应用程序并在其本地屏幕上显示 X 窗口结果!

    提示:检查 xauth 列表...如果在 .

    • 1

相关问题

  • 如何最好地设置 ssh 隧道以访问远程网络 (Linux)

  • SSH 和重定向

  • 通过 SSH 会话使用 NET USER 命令拒绝访问

  • SSH 服务器零日漏洞利用 - 保护自己的建议

  • ubuntu apt-get upgrade - 如何在 shell 中单击确定?

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    新安装后 postgres 的默认超级用户用户名/密码是什么?

    • 5 个回答
  • Marko Smith

    SFTP 使用什么端口?

    • 6 个回答
  • Marko Smith

    命令行列出 Windows Active Directory 组中的用户?

    • 9 个回答
  • Marko Smith

    什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同?

    • 3 个回答
  • Marko Smith

    如何确定bash变量是否为空?

    • 15 个回答
  • Martin Hope
    Tom Feiner 如何按大小对 du -h 输出进行排序 2009-02-26 05:42:42 +0800 CST
  • Martin Hope
    Noah Goodrich 什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同? 2009-05-19 18:24:42 +0800 CST
  • Martin Hope
    Brent 如何确定bash变量是否为空? 2009-05-13 09:54:48 +0800 CST
  • Martin Hope
    cletus 您如何找到在 Windows 中打开文件的进程? 2009-05-01 16:47:16 +0800 CST

热门标签

linux nginx windows networking ubuntu domain-name-system amazon-web-services active-directory apache-2.4 ssh

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve