当我执行“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
答案 0 :(得分:14)
在尝试登录时向ssh添加-v
选项将提供大量调试信息,这些信息可能提供确切问题的线索,例如
debug1: Remote: No xauth program; cannot forward with spoofing.
在我的案例中,在服务器上安装xauth解决了这个问题。
答案 1 :(得分:4)
我必须编辑远程服务器上的sshd配置文件来解决问题。它适用于Ubuntu 16.04服务器:
$ sudo vim / etc / ssh / sshd_config
设置X11UseLocalhost no
保存文件。
$ sudo service sshd restart
$ exit
现在有效!
ssh -X user @ remotehost
$ xclock
答案 2 :(得分:1)
1.确保在ssh -X root@server
期间您拥有root权限。
2.更新/etc/ssh/sshd_config
并确保此行未注释
X11Forwarding yes
3。systemctl restart sshd
4.exit from server
5。ssh -X root@server
6。virt-manager
答案 3 :(得分:1)
sudo apt install xauth
#AddressFamily any
中的行AddressFamily inet
更改为/etc/ssh/sshd_config
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
。