Nataraj
Nataraj

Reputation: 942

X11 connection rejected because of wrong authentication

I am getting a error while accessing the firefox using X11Forwarding.

[root@station2 ~]# firefox
KiTTY X11 proxy: wrong authorisation protocol attemptedKiTTY X11 proxy: wrong authorisation protocol attemptedError: cannot open display: localhost:10.0

setup the following values: /etc/ssh/sshd_config

X11Forwarding yes
X11DisplayOffset 10
X11UseLocalhost yes

** Installed the package**

#yum install xorg-x11-xauth
#yum -y install xauth

[root@station2 .ssh]# echo $DISPLAY
localhost:10.0

#mkxauth -c
adding key for station2.example.com to /root/.Xauthority ... done

Upvotes: 40

Views: 59365

Answers (4)

James B. Byrne
James B. Byrne

Reputation: 1066

I ran into this running gvim over ssh -t -Y and the solution that worked for me was:

xauth add $(xauth -f ~<logon_user>/.Xauthority list | tail -1) ; export NO_AT_BRIDGE=1 # gvim X11 fix for remote GUI failure after su

I do not know where I stumbled on this answer so I cannot give credit to the author.

Upvotes: 1

Vinitha
Vinitha

Reputation: 1369

export XAUTHORITY=$HOME/.Xauthority

This fix worked for me

Upvotes: 136

Michael Besteck
Michael Besteck

Reputation: 2423

There is a hard, if not even impossible, to find (by search engine) scenario that may may cause that error message.

Preliminary note: The topic of this answer is not to discuss if it is a safety risc or recommondable at all to use a graphical desktop as root on an remote, display-less, webserver.

Scenario:

  • A remote internet connected Linux server S has assigned the domain name example.com to it's public IP4-address 192.0.2.1.
  • The /etc/hostname file on S contains the single line example.
  • The /etc/hosts file on S contains the line 127.0.0.1 localhost example.com example.
  • The (remote) ssh access to S is by (sshd-) configuration (on S) forbidden for root by the line DenyUsers root in /etc/ssh/sshd_config, but allowed for a dummy user user1. From a client computer C a ssh connection, using the ssh parameter -X or -Y, is established to S as user user1.

Then, in a remote terminal on S owned by user1, if any X11 related command is tried to be executed as root, may it be by

su, then trying to start the X11 desktop environment

or, as in the concrete case executing a script containing

#!/bin/bash
su --preserve-environment -c "xfce4-session &" root

the error message

X11 connection rejected because of wrong authentication.

is output and the start of any X11 related program fails. The DISPLAY variable of root's environment contains

example.com:10.0

then.

One solution to the problem is, in this special case, to modify the line

127.0.0.1 localhost example.com example

in /etc/hosts to

127.0.0.1 localhost

Upvotes: 11

TS1
TS1

Reputation: 81

Solution: run the application with the same user you are SSHing.

I have also encounter such errors while using X11.

The source of my problem was that i used SSH with my own username (which was not root).

Then, once logged in i tired running stuff with X11 while doing "su" or doing "sudo", the problem with that is that the SSH session is configured with your own username - e.g: Raj, but then you switch to user root which is not part of the X11 session.

So what you should do is simply try to run the application (firefox in your case) with the same user you started the X11 session.

Hope this helps.

Talel.

Upvotes: 3

Related Questions