LM 17 Xfce OpenSSH_6.6.1p1 Ubuntu-2ubuntu2
尽管到处都用谷歌搜索,但我似乎无法让它发挥作用。我不断收到此错误。
$ xlogo
Error: Can't open display: localhost:10.0
我已经尝试过使用调试转发 x11 和 sshd 正常实例的两种类型的连接
ssh -Y remotehost -p 2500
ssh -X remotehost -p 2500
服务器配置允许 x11 转发。
在调试中使用新的 sshd 实例进行测试,我在连接时看到了这一点。我能说的调试的唯一相关部分:
debug1: channel 1: new [X11 inet listener]
debug1: channel 2: new [X11 inet listener]
显示已设置
$ echo $DISPLAY
localhost:10.0
该用户是具有 sudo 访问权限的标准用户,否则我没有问题(一切 cli 都工作正常。)
此外,我没有使用多路复用连接,
当我连接到自己时可以使用 x11 转发 (ssh -X 127.0.0.1)。
当错误出现时,在连接时使用 ssh -v 不会提供任何更有用的反馈。
如果我错过了任何可以尝试的事情,请告诉我。我很困惑。
编辑:
$ netstat -l | grep 6010
tcp 0 0 ip6-localhost:6010 *:* LISTEN
tcp6 0 0 ip6-localhost:6010 [::]:* LISTEN
另外,我在服务器上执行了 ssh -X 127.0.0.1 并输出了以下内容:
Warning: No xauth data; using fake authentication data for X11 forwarding.
xauth 列表。我应该关心这些私人信息吗?不太确定我在 atm 上发布的内容。
remotehostname/unix:14 MIT-MAGIC-COOKIE-1 70f068c8dd2431088bcxxxxxxxxx
remotehostname/unix:13 MIT-MAGIC-COOKIE-1 be500209ccb9fb769eexxxxxxxxx
remotehostname/unix:12 MIT-MAGIC-COOKIE-1 01fc30e4887501602ebxxxxxxxxx
remotehostname/unix:11 MIT-MAGIC-COOKIE-1 d04f849725f71070095xxxxxxxxx
remotehostname/unix:10 MIT-MAGIC-COOKIE-1 42e99c898ef9aa295b4xxxxxxxxx
我更改了 /etc/hosts 文件以将 localhost 放在第一位。现在我收到一条附加消息。我还重新启动,看看是否有帮助。
127.0.0.1 localhost remotehostname localhost.localdomain
::1 localhost ip6-localhost ip6-loopback
X11 connection rejected because of wrong authentication.
Error: Can't open display: localhost:10.0
我删除了 ~/.Xauthority 文件,并注意到它没有自动创建。我在我的树莓派上测试了这个,它给了我一个警告,然后创建了 ~/.Xauthority 文件。此行为不会发生在远程主机上。不过,创建它的权限很好。
答案1
由于$DISPLAY
设置正确且未~/.Xauthority
创建文件,这可能意味着尽管考虑了 X11 转发,xauth
但未运行。原因之一可能是它不在路径中(我在 Mac OS X 下遇到了这个问题,但在 Linux 下这会很奇怪)。您可能想通过创建文件来自己完成这项工作~/.ssh/rc
。例如,我有以下内容:
if [ -n "$DISPLAY" ]; then
echo "DISPLAY: $DISPLAY" >&2
if read proto cookie; then
if [ `echo $DISPLAY | cut -c1-10` = 'localhost:' ]; then
echo add unix:`echo $DISPLAY | cut -c11-` $proto $cookie
else
echo add $DISPLAY $proto $cookie
fi | $HOME/.ssh/xauth.wrapper -q -
fi
fi
其中是实现文件锁定的~/.ssh/xauth.wrapper
包装器。但是您可以仅使用路径名或完整路径名以防万一...这很像 sshd(8) 手册页中描述的内容(请参阅“SSHRC”部分)。xauth
~/.Xauthority
xauth
xauth
小心不要犯任何错误。