39

当我做“ 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)

远程平台是:

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
4

5 回答 5

40

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

debug1: Remote: No xauth program; cannot forward with spoofing.

在我的情况下,在服务器上安装 xauth 解决了这个问题。

于 2017-03-11T12:41:32.900 回答
31

我不得不编辑远程服务器上的 sshd 配置文件来解决这个问题。它适用于 Ubuntu 16.04 服务器:

$ sudo vim /etc/ssh/sshd_config

Set `X11UseLocalhost no`

保存文件。

$ sudo service sshd restart

$ exit

现在它起作用了!

$ ssh -X user@remotehost  
$ xclock
 
于 2018-03-30T09:40:32.860 回答
14
  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.

于 2019-08-26T17:39:35.607 回答
8

1.确保ssh -X root@server你有root权限。

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

    X11Forwarding yes

3.systemctl restart sshd

4.从服务器退出

5.ssh -X root@server

6.virt-manager

于 2016-09-05T11:02:16.927 回答
0

在我的情况下,作为超级用户,/etc/ssh/sshd_config在远程主机上进行编辑并更改以下行修复了它。

#X11Forwarding no

X11Forwarding yes

然后:pkill -HUP sshd在远程主机上使 sshd 重新加载其配置,这也关闭了 sshd 会话。

于 2022-02-03T03:01:53.837 回答