2024年11月Linux下出现"X11 forwarding request failed on channel 0错误

发布时间:

  ⑴当你在使用SSH的X转发选项到远程连接的时候,登录时可能会遇到“X forwarding request failed on channel ” (X 转发请求在通道上失败的错误,遇到这种错误是什么原因导致的呢?又该如何解决呢?下面小编就教大家在Linux下遇到该问题该如何处理。

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

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

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

  ⑸$ sudo vi /etc/ssh/sshd_config

  ⑹XForwarding yesXUseLocalhost no

  ⑺重启SSH使设置生效:

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

  ⑼如果远程主机的SSH服务禁止了IPv,那么X转发失败的错误也有可能发生。要解决这个情况下的错误。打开/etc/ssh/sshd配置文件,取消对“AddressFamily all” (如果有这条的话的注释。接着加入下面这行。这会强制SSH服务只使用IPv而不是IPv。(LCTT 译注:此处恐有误,AddressFamily 没有 all 这个参数,而 any 代表同时支持 IPv和 IPv,以此处的场景而言,应该是关闭IPv支持,只支持 IPv,所以此处应该是“注释掉 AddressFamily any”才对。

  ⑽$ sudo vi /etc/ssh/sshd_config

  ⑾AddressFamily i

  ⑿上面就是Linux下修复“X forwarding request failed on channel ”错误的方法介绍了,造成该错误的原因有很多种,不同情况不同处理,当前提是你正确启用了SSH的X转发。