X over SSH to Ubuntu server

5,862

Solution 1

It's right there in the last line:

debug1: Remote: No xauth program; cannot forward with spoofing.

In addition to gedit, you'll also need to install an xauth package. If the Ubuntu server wasn't installed with an X Windows system (probable considering you had to manually install Gedit) this is clearly not present.

Solution 2

Make sure you allow it in the sshd_config on your server.

X11Forwarding yes

Also, make sure that your client is configured. If you are using OSX, make sure X11 is running, otherwise check that your local ~/.Xauthority is chmod 600 and ssh_config on the client is well configured.

Host *
ForwardX11 yes
ForwardAgent no 

Check to see if you have xorg-x11-xauth installed on the client. You can verify this by running the commands below:

$ ssh -X -l root <USERNAME>
# echo $DISPLAY
  localhost:10.0
Share:
5,862
Adam Matan
Author by

Adam Matan

Team leader, developer, and public speaker. I build end-to-end apps using modern cloud infrastructure, especially serverless tools. My current position is R&amp;D Manager at Corvid by Wix.com, a serverless platform for rapid web app generation. My CV and contact details are available on my Github README.

Updated on September 17, 2022

Comments

  • Adam Matan
    Adam Matan over 1 year

    I'm trying to run X remotely from an Ubuntu server. I've installed gedit on the remote machine, and tried:

    adam@laptop $ ssh -X adam@myserver
    adam@myserver $ gedit
    cannot open display: 
    Run 'gedit --help' to see a full list of available command line options.
    

    I've tried it with another program:

    adam@myserver $ filezilla
    Error: Unable to initialize gtk, is DISPLAY set properly?
    

    Here's the SSH log, using ssh -X -v:

    OpenSSH_5.3p1 Debian-3ubuntu5, OpenSSL 0.9.8k 25 Mar 2009
    debug1: Reading configuration data /etc/ssh/ssh_config
    debug1: Applying options for *
    debug1: Connecting to [Server ip and name omitted, Adam] port 22.
    debug1: Connection established.
    debug1: identity file /home/adam/.ssh/identity type -1
    debug1: identity file /home/adam/.ssh/id_rsa type 1
    debug1: Checking blacklist file /usr/share/ssh/blacklist.RSA-2048
    debug1: Checking blacklist file /etc/ssh/blacklist.RSA-2048
    debug1: identity file /home/adam/.ssh/id_dsa type -1
    debug1: Remote protocol version 2.0, remote software version OpenSSH_4.7p1 Debian-8ubuntu1.2
    debug1: match: OpenSSH_4.7p1 Debian-8ubuntu1.2 pat OpenSSH_4*
    debug1: Enabling compatibility mode for protocol 2.0
    debug1: Local version string SSH-2.0-OpenSSH_5.3p1 Debian-3ubuntu5
    debug1: SSH2_MSG_KEXINIT sent
    debug1: SSH2_MSG_KEXINIT received
    debug1: kex: server->client aes128-ctr hmac-md5 none
    debug1: kex: client->server aes128-ctr hmac-md5 none
    debug1: SSH2_MSG_KEX_DH_GEX_REQUEST(1024<1024<8192) sent
    debug1: expecting SSH2_MSG_KEX_DH_GEX_GROUP
    debug1: SSH2_MSG_KEX_DH_GEX_INIT sent
    debug1: expecting SSH2_MSG_KEX_DH_GEX_REPLY
    debug1: Host [Server ip and name omitted, Adam] is known and matches the RSA host key.
    debug1: Found key in /home/adam/.ssh/known_hosts:292
    debug1: ssh_rsa_verify: signature correct
    debug1: SSH2_MSG_NEWKEYS sent
    debug1: expecting SSH2_MSG_NEWKEYS
    debug1: SSH2_MSG_NEWKEYS received
    debug1: SSH2_MSG_SERVICE_REQUEST sent
    debug1: SSH2_MSG_SERVICE_ACCEPT received
    debug1: Authentications that can continue: publickey,password
    debug1: Next authentication method: publickey
    debug1: Offering public key: /home/adam/.ssh/id_rsa
    debug1: Server accepts key: pkalg ssh-rsa blen 277
    debug1: Authentication succeeded (publickey).
    debug1: channel 0: new [client-session]
    debug1: Entering interactive session.
    debug1: Requesting X11 forwarding with authentication spoofing.
    debug1: Sending environment.
    debug1: Sending env LANG = en_US.utf8
    debug1: Remote: No xauth program; cannot forward with spoofing.
    Linux sftp-waze 2.6.24-10-xen #1 SMP Tue Sep 8 19:06:53 UTC 2009 i686
    

    Unfortunately, these programs have no verbosity flag, so that is all the information I have.

    What's wrong? Is it even possible to run remote X on ubuntu server?

    • APR
      APR about 13 years
      try adding the '-v' (for verbose) and give us the output :-).
    • Adam Matan
      Adam Matan about 13 years
      gedit has no verbosity flag. I've tried filezilla and got the same error (added to question).
    • Deb
      Deb about 13 years
      The -v flag on the SSH connection command will give details about whether or not the X forward was successfully established.
    • APR
      APR about 13 years
      OK, could you please run this, and also provide the results? strings /usr/sbin/sshd|grep xauth
  • Adam Matan
    Adam Matan about 13 years
    Installing xauth on the server side solved the problem. Thanks!
  • Adam Matan
    Adam Matan about 13 years
    +1 Wasn't the problem, but it's good advice for other readers.
  • APR
    APR about 13 years
    Yeah, I wasn't quick enough to edit :-)