X11 forwarding request failed on channel 0 Error and Solution

by on March 23, 2014 · 4 comments· LAST UPDATED March 23, 2014

in , , , ,

I am a new Linux server user. I need to tunnel X over ssh. I type the following command from OS X Unix terminal to login into far_away_machine (a centos server):

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

But, I am getting the following error on screen:

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

How do I fix "X11 forwarding request failed on channel 0" on Linux or Unix-like systems?

Tutorial details
DifficultyIntermediate (rss)
Root privilegesYes
Estimated completion time5m
You may get an error when you try to display a server managment app or any other X app. You will be able to run a graphical application on server and get applications display (window) on your desktop using X11 forwarding. The fix this issue make sure OpenSSH SSHD is configured as follows

Fixing forwarding request failed on channel 0 on a Linux/Unix based server

Login to your centos-far-away-server, enter:
$ ssh -A -p 22 user@centos-far-away-server
Edit /etc/ssh/sshd_config file, enter:
$ sudo vi /etc/ssh/sshd_config
Set the following two options:

X11Forwarding yes
X11UseLocalhost no

Save and close the file. Reload the sshd, enter:
$ sudo /etc/init.d/sshd reload
Sample outputs:

Reloading sshd:                                            [  OK  ]

Install X authority file utility

You need to install xauth tool using yum command:
$ sudo yum install xauth
Sample outputs:

Loaded plugins: downloadonly, fastestmirror, security
Loading mirror speeds from cached hostfile
 * base: mirrors.tummy.com
 * epel: mirror.steadfast.net
 * extras: centos-mirror.jchost.net
 * updates: centos.hostingxtreme.com
Setting up Install Process
Resolving Dependencies
--> Running transaction check
---> Package xorg-x11-xauth.x86_64 1:1.0.2-7.1.el6 will be installed
--> Processing Dependency: libXmuu.so.1()(64bit) for package: 1:xorg-x11-xauth-1.0.2-7.1.el6.x86_64
--> Running transaction check
---> Package libXmu.x86_64 0:1.1.1-2.el6 will be installed
--> Processing Dependency: libXt.so.6()(64bit) for package: libXmu-1.1.1-2.el6.x86_64
--> Running transaction check
---> Package libXt.x86_64 0:1.1.3-1.el6 will be installed
--> Finished Dependency Resolution
Dependencies Resolved
 Package                      Arch                 Version                        Repository          Size
 xorg-x11-xauth               x86_64               1:1.0.2-7.1.el6                base                35 k
Installing for dependencies:
 libXmu                       x86_64               1.1.1-2.el6                    base                66 k
 libXt                        x86_64               1.1.3-1.el6                    base               184 k
Transaction Summary
Install       3 Package(s)
Total download size: 285 k
Installed size: 681 k
Is this ok [y/N]: y
Downloading Packages:
(1/3): libXmu-1.1.1-2.el6.x86_64.rpm                                                |  66 kB     00:00
(2/3): libXt-1.1.3-1.el6.x86_64.rpm                                                 | 184 kB     00:00
(3/3): xorg-x11-xauth-1.0.2-7.1.el6.x86_64.rpm                                      |  35 kB     00:00
Total                                                                      1.2 MB/s | 285 kB     00:00
Running rpm_check_debug
Running Transaction Test
Transaction Test Succeeded
Running Transaction
  Installing : libXt-1.1.3-1.el6.x86_64                                                                1/3
  Installing : libXmu-1.1.1-2.el6.x86_64                                                               2/3
  Installing : 1:xorg-x11-xauth-1.0.2-7.1.el6.x86_64                                                   3/3
  Verifying  : libXmu-1.1.1-2.el6.x86_64                                                               1/3
  Verifying  : libXt-1.1.3-1.el6.x86_64                                                                2/3
  Verifying  : 1:xorg-x11-xauth-1.0.2-7.1.el6.x86_64                                                   3/3
  xorg-x11-xauth.x86_64 1:1.0.2-7.1.el6
Dependency Installed:
  libXmu.x86_64 0:1.1.1-2.el6                          libXt.x86_64 0:1.1.3-1.el6

Try ssh command as follows:
$ ssh -X -o options -A -p 22 user@centos-far-away-server
Sample outputs:

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

Once you got ~/.Xauthority file, you can run X apps as follows over ssh:
$ xeyes &
$ my-cool-raid-app-manager &

Tip: Finding issues with X over ssh

If you still need hints, run ssh command as follows to debug problems:
$ ssh -v user@server-name-here

Tweet itFacebook itG+ itDownload PDF versionFound an error/typo on this page?

{ 4 comments… read them below or add one }

1 Jeff Silverman July 16, 2014 at 7:06 pm

This is really good. One minor detail: the yum install xauth command should be run on the centos-far-away-server .


2 Caesar August 9, 2014 at 9:33 pm

X11UseLocalhost no

Looking at the sshd_config manpage, I don’t think you want to do that.


3 Paul September 4, 2014 at 5:30 pm

Why not?


4 monr4 October 13, 2014 at 2:58 pm

this solve the problem, but i dont know why, if the man say
Specifies whether sshd(8) should bind the X11 forwarding server to the loopback address or to the wildcard address. By default, sshd
binds the forwarding server to the loopback address and sets the hostname part of the DISPLAY environment variable to “localhost”.
This prevents remote hosts from connecting to the proxy display. However, some older X11 clients may not function with this configu-
ration. X11UseLocalhost may be set to “no” to specify that the forwarding server should be bound to the wildcard address. The argu-
ment must be “yes” or “no”. The default is “yes”.


Leave a Comment

Tagged as: ,

Previous Faq:

Next Faq: