X11转发请求在通道0上失败错误和解决方案

时间:2020-01-09 10:39:14  来源:igfitidea点击:

如何通过SSH搭建隧道X。
我从OS X Unix终端执行以下命令以登录far_away_machine(一个centos服务器):

ssh -X -o options -A -p 22 user@centos-far-away-server

但是报错:

X11 forwarding request failed on channel 0Last login: Sun Mar 23 15:58:51 2014 from 1.2.3.4

在Linux或类似Unix的系统上,如何解决X11转发请求在通道0上失败的问题?

尝试显示服务器管理应用程序或任何其他X应用程序时,您可能会遇到错误。您将能够在服务器上运行图形应用程序,并使用X11转发在桌面上显示应用程序(窗口)。要解决此问题,请确保OpenSSH SSHD的配置如下

在基于Linux/Unix的服务器上,修复forwarding request failed on channel 0的问题

登录到您的centos-far-away-server,执行:

$ ssh -A -p 22 user@centos-far-away-server

编辑/etc/ssh/sshd_config文件,执行:

$ sudo vi /etc/ssh/sshd_config

设置以下两个选项:

X11Forwarding yes
X11UseLocalhost no

保存并关闭文件。
重新加载sshd,执行:

$ sudo /etc/init.d/sshd reload

输出示例:

Reloading sshd:                                            [  OK  ]

安装X授权文件实用程序

您需要使用yum命令安装xauth工具:

$ sudo yum install xauth

尝试ssh命令,如下所示:

$ ssh -X -o options -A -p 22 user@centos-far-away-server

输出示例:

Last login: Sun Mar 23 16:25:09 2014 from 1.2.3.4
/usr/bin/xauth:  creating new authority file /home/Hyman/.Xauthority

一旦获得~/.Xauthority文件,就可以通过ssh如下运行X应用程序:

$ xeyes &
$ my-cool-raid-app-manager &

提示:通过ssh查找X的问题

如果仍然需要提示,请按以下方式运行ssh命令以调试问题:

$ ssh -v user@server-name-here