每次我启动从 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)),它工作正常,我可以在本地或远程成功启动时钟。
已发布的解决方案均不适合我。我的客户端(桌面)系统运行的是 macOS 10.12.5 (Sierra)。我添加
-v
了ssh
命令的选项,它告诉我,这意味着它没有正确的
xauth
程序路径。(在这个版本的 macOS 上,路径xauth
是非标准的。)解决方案是将此行添加到/etc/ssh/ssh_config
(可能/etc/ssh/config
在某些设置中)或~/.ssh/config
(如果您没有管理员权限):现在警告信息消失了。
找到原因,我
~/.ssh/config
的不完整,你需要两者:我的错误是我只包含了 ForwardX11 选项。
让Windows 10上的Ubuntu bash运行
ssh -X
在远程服务器上获得GUI环境安装以下所有内容。在 Windows 上,安装
Xming
. 在 Ubuntu bash 上,使用sudo apt install
安装ssh xauth xorg
.转到包含
ssh_config
文件的文件夹,我的是/etc/ssh
.以管理员身份编辑
ssh_config
(使用sudo
)。在 内部,删除行、、ssh_config
中的散列,并将相应的参数设置为。#
ForwardAgent
ForwardX11
ForwardX11Trusted
yes
ssh_config
文件中去掉前面的hash和#
,在文件末尾也加一行写xauth文件位置, 记得写自己的xauth文件路径。Port 22
Protocol 2
XauthLocation /usr/bin/xauth
现在我们已经完成了
ssh_config
文件的编辑,当我们离开编辑器时保存它。现在转到文件夹~
或$HOME
,附加export DISPLAY=localhost:0
到您的.bashrc
文件并保存。我们快完成了。重新启动你的 bash shell,打开你的
Xming
程序并使用ssh -X yourusername@yourhost
. 然后享受GUI环境。问题也出在 Windows 上的 Ubuntu 子系统中,链接位于
https://gist.github.com/DestinyOne/f236f71b9cdecd349507dfe90ebae776
注意:链接文本包含 2 个拼写错误(
XauthLocaion
而不是XauthLocation
)如前所述,
xauth
在 OS X Yosemite 上似乎已经退化到一个不支持 XQuartz$DISPLAY
设置的旧版本:我会将其添加为评论,但我没有足够的代表。在sorin的解决方案中再添加一行对我有用。
在客户端机器上,使用以下命令编辑您的 ssh 配置文件
vim ~/.ssh/config
然后将这些行添加到它:
您可以通过以下方式仔细检查您的
xauth
位置:目前 MacOS 中存在一个错误。我也遇到过这个。我的修复涉及将以下内容添加到我的 .bash_profile
本质上,与您的 X root 关联的文件管道的名称无法正确处理,因此需要更正。:-)
我刚刚从我的根文件夹中删除了 ~/.Xauthority(目标机器)并再次 ssh -X 192.168.123.1 并且 ik 工作了。
包含
~/.ssh/config 中的 XAuthLocation /opt/local/bin/xauth
在我的 macOS Sierra 10.12.6 中为我工作。答案 7) 的一个小改动。
在将我的 Cygwin 安装从一台 PC 移动到另一台 PC 后,这开始发生在我身上。问题似乎是主机名更改:魔术 cookie 不再对应于新 PC 的主机名。
跑步
在本地 Cygwin 安装上为我解决了这个问题——
xauth list
现在列出了一个与新 PC 的正确主机名关联的魔术 cookie,并且警告不再出现。在我的例子中,问题是 .Xauthority 包含未转发的 Magic cookie,Fabby 在http://askubuntu.com/questions/571116/上建议在 2014-11-14 将此行添加到 .bashrc 或. 配置文件以允许在调用 su 时在用户之间转发 xauth 密钥:
我之前还添加了:
确保使用 ssh -X ̍@ 调用的远程会找到它。
在我的例子中,.Xauthority 是原始用户 /home//.Xauthority 的符号链接,我从...
具有正确的权利:
所以它可以访问到和到。将能够在整个代理帐户的本地屏幕上触发应用程序并在其本地屏幕上显示 X 窗口结果!
提示:检查 xauth 列表...如果在 .