Posted 7 months 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:

Copy
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)

makandra has been working exclusively with Ruby on Rails since 2007. Our laser focus on a single technology has made us a leader in this space.

Owner of this card:

Avatar
Tobias Kraze
Last edit:
about 1 month 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