通道0上的X11转发请求失败

Dav*_*d Z 9 linux ssh x11-forwarding

当我做" ssh -X abcserver"时,我得到了消息" X11 forwarding request failed on channel 0".我在网上查了一下,建议通过切换" X11UseLocalhost no"来解决它X11UseLocalhost yes.

但是,我和我的经理都没有这个管理权限.我想知道,除了这个解决方案,是否还有其他选择来解决这个问题?我也没有sudo权限直接安装X11在服务器上.

我的本地平台是:

Linux version 3.16.0-4-amd64 (debian-kernel@lists.debian.org)
(gcc version 4.8.4 (Debian 4.8.4-1) ) #1 SMP Debian 3.16.7-ckt25-2+deb8u3 (2016-07-02)
Run Code Online (Sandbox Code Playgroud)

远程平台是:

Linux version 3.13.0-88-generic (buildd@lgw01-16) 
(gcc version 4.8.4 (Ubuntu 4.8.4-2ubuntu1~14.04.3) ) 
#135-Ubuntu SMP Wed Jun 8 21:10:42 UTC 2016
Run Code Online (Sandbox Code Playgroud)

hlo*_*dal 17

-v在尝试登录时向ssh 添加选项将提供大量调试信息,这些信息可能提供确切问题的线索,例如

debug1: Remote: No xauth program; cannot forward with spoofing.
Run Code Online (Sandbox Code Playgroud)

在我的情况下,在服务器上安装xauth修复了问题.

  • 在 CentOS 7 上,必要的包称为 `xorg-x11-xauth`。 (3认同)

小智 11

  1. sudo apt install xauth
  2. 将行更改#AddressFamily anyAddressFamily inetin/etc/ssh/sshd_config
  3. sudo service ssh restart

这在 Ubuntu 18.04 LTS 上就足够了。

登录后ssh -X(或激活 PuTTY / KiTTY 选项“启用 X11 转发”后),您应该看到环境变量DISPLAY已自动定义为localhost:10.0或类似。首次成功登录后(使用功能性 X11 转发),将生成文件 .Xauthority。成功的另一个积极迹象。

如果您有兴趣查看并了解会话中 X11 转发的详细信息,可以尝试使用lsof -i -P|grep ssh.

  • `AddressFamily inet` 帮我解决了这个问题。当 IPv6 禁用时需要这样做。 (4认同)
  • 感谢这修复了我的 ssh 服务器日志中的错误“sshd[25305]:错误:无法分配互联网域 X11 显示套接字。” (2认同)

Key*_*yno 8

我必须在远程服务器上编辑sshd配置文件以解决此问题。它适用于Ubuntu 16.04 Server:

$ sudo vim / etc / ssh / sshd_config

X11UseLocalhost no

保存文件。

$ sudo服务sshd重新启动

$出口

现在可以了!

ssh -X user @ remotehost
$ xclock

  • 我被告知使用“X11UseLocalhost no”是一个安全问题。那么为什么需要它呢?我的 Arch Linux 机器上不需要它。 (2认同)

小智 5

1.确保在此期间ssh -X root@server您拥有root权限。

2.更新/etc/ssh/sshd_config并确保取消注释此行

    X11Forwarding yes
Run Code Online (Sandbox Code Playgroud)

3.systemctl restart sshd

4.退出服务器

5.ssh -X root@server

6.virt-manager