X-Forwarding, SSH, and Working At Home Securely

(Or, how to get your project done while in your PJs at 2 am)

© Chris Jones (cdjones@ee), netcon group
Last updated 21 February 2002

Ever wanted to go home and play loud music while getting your project or homework done? If so, you've probably read this appnote about how to use X-Win32 to run Max+Plus II from home.

But the Internet is a wild, wooly, and insecure place.

When you use the instructions given in previous appnotes, you're sending all your data, including passwords in clear text over the network. This is a bad thing. But have no fear: SSH is here!

SSH is the Secure SHell, which encrypts data when transmitting it across the network. From your perspective, it looks just like telnet, but has the added advantage that it can transparently tunnel X-Window connections to your PC from the workstation you're logged into. That means that programs running on the workstation show up (just as they would if you were sitting in the Fishbowl) on your PC's screen.

Note: this works best if you have a high-speed connection, like cable or DSL. If you don't have at least 56k, for the sake of your own sanity, I strongly urge you to just stay at school instead, and work there.


  1. Download and install X-Win32. It's got a mildly irritating reminder screen that pops up every fifteen minutes, and you have to shut it down every two hours. This can be useful to remind you to look away from the computer screen and brush your teeth. If it bothers you sufficiently to pay Starnet for the program, it goes away. You can substitute your favourite X-Window server (e.g. XFree86 if you're running a UNIX-alike such as OpenBSD).

  2. Download and install an SSH client. On Windows platforms, I like using Teraterm Pro and TTSSH, which are free. You can get them from this site. Note that you need both Teraterm Pro and TTSSH. Alternatively, you can substitute this with almost any other decent SSH program. On UNIX-alikes, you should use OpenSSH, which may already be installed for you.

  3. If you're using TTSSH, start running it. Go to Setup | SSH Forwarding, and enable "Display remote X applications on local X server". If you're using another SSH client, perform the moral equivalent in configuration to it. You don't need to bother with this step if you're using OpenSSH.

  4. Connect to a CAD machine. This should be fairly straightforward. If you're using OpenSSH, you'll want to ensure that you have the -X option in the command line (or alternatively, that you've set it up to always forward X connections).

  5. Run Max+Plus II as if you were logged in with a console window. For me, that's "max2win &". You may prefer a different approach.

  6. You can now access the files in your CAD account with Max+Plus II or whatever other programs (e.g. emacs). When you're done, simply close the applications' windows, and then close the SSH connection. Note that the connection will not close if the applications are still open.
Feel free to contact me with any questions.
© 2002 Chris Jones (cdjones@ee), netcon group.
Last updated 21 February 2002.