Posted about 1 year ago. Visible to the public.

SSH: X-Forwarding

If you need to run a program on a remote machine (e.g. to your office PC) with a graphical UI (and you trust the remote machine), you can use SSH X-Forwarding. I sometimes use this to connect to a virtual machine installed on my work PC from my home office.

Forwarding X over SSH

To use X forwarding, when connecting to the remote machine, and add -X to the ssh call. Now, when you start a program with a UI (e.g. virtualbox) in that SSH session, a window will open on your local machine. It will not be particularly snappy, but on a decent connection it will be usable.

Note: This allows the remote machine to gain access to your X session, which is a security risk. Only use -X if you trust the remote machine a 100%. Do not make it a default in your SSH config.

Configuring sshd

The remote machine may not be configured to forward X by default. In that case, when connecting via ssh -X, you will get a warning:

X11 forwarding request failed on channel 0

To fix that, you need to enable X forwarding on the target machine:

  1. ssh remote-machine
  2. sudo vim /etc/ssh/sshd_config
  3. Set X11Forwarding yes and save
  4. sudo service sshd reload (existing connections will not be terminated)
Growing Rails Applications in Practice
Check out our new e-book:
Learn to structure large Ruby on Rails codebases with the tools you already know and love.

Owner of this card:

Tobias Kraze
Last edit:
8 months ago
by Arne Hartherz
About this deck:
We are makandra and do test-driven, agile Ruby on Rails software development.
License for source code
Posted by Tobias Kraze to makandra dev
This website uses cookies to improve usability and analyze traffic.
Accept or learn more