There are a number of applications running on our servers that have GUI’s that I need to display on the Mac in my office. While the traditional method of exporting the server-side display to my desktop works, it is inherently insecure because the entire session, including any passwords that may be sent are all transmitted in clear-text.
Better to use SSH X11 forwarding. This way the entire session is encrypted and nobody can snoop your passwords. The process of using SSH X11 Forwarding goes something like this:
On the server-side (the machine from which you want to forward the display, make sure this line is in your /etc/ssh/sshd_config file:
X11Forwarding yes
If you had to add it, restart the sshd service.
/sbin/service sshd restart
Now, from the client-side (the machine on which you want to display the forwarded X11 application) connect to the server-side machine with the -X flag. Like so:
ssh -X username@remoteserver
Now you should be able to start X applications and have them display on your client machine through an ssh tunnel. If you are like me, however, some Java applications will not display correctly. Instead of popping up a window with the full application in it, I would only see a totally useless blank window. This frustrated me for months until I found this article at kraftek.com that details how to resolve the problem.
It turns out that all you have to do is put this line in the ssh_config file on your client-side:
ForwardX11Trusted yes
After logging out and back into the server-side machine, everything worked perfectly.
