TranslateProject/translated/tech/20140818 Linux FAQs with Answers--How to fix 'X11 forwarding request failed on channel 0'.md

2.3 KiB
Raw Blame History

Linux FAQ -- 如何修复“X11 forwarding request failed on channel 0”错误

问题: 当我尝试使用SSH的X11转发选项连接到远程主机时, 我在登录时遇到了一个 "X11 forwarding request failed on channel 0" X11 转发请求在通道0上失败的错误。 我为什么会遇到这个错误,并且该如何修复它

首先,我们假设你已经正确启用了SSH的X11转发

如果你在登录时遇到"X11 forwarding request failed on channel 0" X11 转发请求在通道0上失败这里可能有不同的原因解决的方法也不同。

方案一

出于安全原因OpenSSH服务默认将X11转发请求绑定到本地回环地址上并且在DISPLAY环境变量中将主机名设置为“localhost”。在这样的设定下一些 X11客户端不能正确处理X11转发这会导致报告中的错误。要解决这个问题在/etc/ssh/sshd配置文件中加入下面这几行它可以将X11转发请求绑定到外网卡地址上。

$ sudo vi /etc/ssh/sshd_config 

X11Forwarding yes
X11UseLocalhost no

重启SSH使设置生效:

$ sudo /etc/init.d/ssh restart (Debian 6, Ubuntu or Linux Mint)
$ sudo systemctl restart ssh.service (Debian 7, CentOS/RHEL 7, Fedora)
$ sudo service sshd restart (CentOS/RHEL 6) 

方案而

如果远程主机的SSH服务禁止了IPv6,那么X11转发失败的错误也有可能发生。要解决这个情况下的错误。打开/etc/ssh/sshd配置文件打开"AddressFamily all" 如果有的话的注释。接着加入下面这行。这会强制SSH服务只使用IPv4而不是IPv6。

$ sudo vi /etc/ssh/sshd_config 

AddressFamily inet

再说一次重启SSH服务来完成设置


via: http://ask.xmodulo.com/fix-broken-x11-forwarding-ssh.html

译者:geekpi 校对:校对者ID

本文由 LCTT 原创翻译,Linux中国 荣誉推出