The Sysadmin's Daily Grind: Weird Mind

Tunneling the Dutch Beaches


What does Charly's recent two-week vacation in Holland have in common with an SSH session? Nothing at all, at first sight. And therein lies a tale.

By Charly Kühnast

People from Germany's lower Rhine area have a somewhat ambivalent attitude to their Dutch neighbors across the border. But I like the Dutch; I even had a Dutch girlfriend once, from Zwolle. And as Holland has a good offering of Internet hot-spots, I decided to head for the coastal province of North Holland.

Unfortunately, I could find no Dutch people there at the time - they had all gone off to watch the World Cup in Germany[1], but at least that saved me from making a fool of myself trying to speak Dutch to the locals. And Internet access was available, not at our holiday home as I had anticipated, but at a small café a good walking distance away. The WLAN hotspot promised access to anyone willing to pay the indecently high airtime fees. There are ways of tunneling through these kinds of constructions, but that would have been unfair, so I paid up.

Unfortunately, I differed from the hotspot operator (who must be insanely rich by now considering the airtime rates) in his understanding of the term Internet connection. I could have lived with the mandatory proxy, but everything except HTTP(S), POP, and IMAP was nailed down tight. I use Mutt to access a few critical mailboxes that run under screen on my home server, which means I simply must connect with SSH.

Fortunately, I had loaded a tool that routes SSH via HTTP onto my web server quite awhile back. The program comes with any number of options [2]. But, to cut a long story short, my server runs Weird Mind [3], a tool that is easy to install but only speaks SSH 1.

Figure 1: Weird Mind on my home server helped me tunnel through restrictive Internet policies.

Stay-At-Home Apache

After unpacking the tarball, I copied the files weirdmind.html, weirdmind.jar, and props to a directory accessible to Apache. I had to change a few settings in weirdmind.html, starting with the server that Weird Mind connects to. I also had to specify the path to the props file:

<param name=server" value= "127.0.0.1">
<param name="properties_url" value="http://127.0.0.1/weirdmind/props">

props is actually the configuration file for the SSH client, which is written in Java. The settings are well-commented, and the defaults are fine for casual dabbling with SSH. However, it is important for the SSH daemon to support password authentication in sshd_config:

PasswordAuthentication yes

Back in Holland, I simply used the browser to navigate to weirdmind.html on my server at home, and there was nothing to stop me going back to building sandcastles on the beach. Admittedly, nobody forced me to drag 40 pounds of hardware with me to Holland, but the thought of two whole weeks of doing nothing but soaking up the sun was just too much for me to bear!

INFO
[1] The official FIFA World Cup Germany 2006 site: http://fifaworldcup.yahoo.com/06/en/
[2] Remote tools: http://anyterm.org/compared.htm
[3] Weird Mind: http://www.tam.cornell.edu/Computer.old/remoteaccess/weirdmind/
THE AUTHOR

Charly Kühnast is a Unix System Manager at the data center in Moers, near Germany's famous River Rhine. His tasks include ensuring firewall security and availability and taking care of the DMZ (demilitarized zone).