Tunneling an X connection through an intermediate Linux/BSD gateway involves forwarding X11 protocol packets over SSH connections, so that the display of the remote X application can be displayed on the local X server.
Here are the steps to set up tunneling of X connections:
- Connect to the intermediate gateway using SSH:
$ ssh gateway.example.com
- Enable X11 forwarding by using the
-X
or-Y
option:
$ ssh -X gateway.example.com
The -X
or -Y
option enables X11 forwarding, which will forward X11 protocol packets from the remote machine back to your local X server.
- From the gateway machine, connect to the final destination using the
-X
or-Y
option:
$ ssh -X remote.example.com
- Launch the X application from the remote machine:
$ xclock
The xclock
application will launch on the remote machine, but the display will be forwarded back to your local X server and will appear on your local desktop.
Note that the -X
option enables trusted X11 forwarding, which allows remote X applications to access the resources of the local X server. The -Y
option enables untrusted X11 forwarding, which restricts remote X applications from accessing the resources of the local X server. For security reasons, it is recommended to use the -Y
option unless trusted X11 forwarding is required.