niamu

Brendon Walsh
SSH and Unix Love

SSH and Unix Love

2008-11-13

So, people typically think of me as "that Mac fanboy" since my notorious "switch" a few years back. Of course, I don't actually think of myself as a switcher. I still use Windows from time to time and have a lot of love for Vista and a lot of reserved love for Windows 7.

What this is really leading up to is my recent adoration for Unix-like platforms. Specifically Ubuntu Linux which is the OS I use on all my netbooks and more specifically a distinction that I'd like to draw between being a Mac fanboy and being a Unix geek.

@Bravado and myself are HUGE advocates of the netbook market. We both adore our Asus Eee PCs. Even now at what seems to be the end of their short (incredibly hacked) lives. You can see on Twitter what I mean by all of this...

I digress. One of the many factors that netbooks are so cheap and can run on ridiculous specs such as a 4GB solid state disk as the primary storage device or a 600Mhz underclocked processor is the fact that most of them ship with a Linux distribution.

I want to talk about one feature in depth that really made me fall in love with this platform and why Windows is by no means a bad OS, but definitely blown out of the water when it comes to the mobile market where Linux shines.

SSH

Secure Shell allows one to call up another machine on a network over an encrypted channel and also uses public-key cryptology.

This lets one accomplish all sorts of neat tasks. You can manage all your servers remotely and reconfigure Apache and the like. You can transfer files to and from the server. You can tunnel your internet traffic through an SSL connection to avoid geo-location blocks or local security measures in your workplace or at school.

I want to talk about how I've been using SSH lately on my newest Acer Aspire One netbook and other devices to show off in geeky company.

SSHFS

As far as I'm concerned, SSHFS is the killer app on any netbook platform. SSHFS allows you to make a connection to remote server just as you would expect, but what's interesting about this application is it then mounts the remote directory to your local file system so you can browse the files contents just as you would any other folder on your local system.

I know your mind just exploded with ideas for how you could use this. But let me list a few of the many ways that I make use of this application;

SSH and SOCKS Proxies

This is a genius workaround for blocked domains within an intranet or even geo-location dependent services. It is also commonly used to re-route all traffic through secure tunnels when you become paranoid at an internet cafe or other public networks.

I use this myself to tunnel traffic through our web host to gain access to Hulu and other various media distribution networks.

I also use this technique to tether the Edge data connection on my iPhone to my laptop for the few small occasions when I really want online and can't bear the limitations of the iPhone's small screen or lack of Flash support.

Jailbroken iPhones

Speaking of iPhones, I have one other devilishly cool hack that can only be performed on jailbroken/hacked iPhones. This involved a trip to Calgary that myself and a classmate embarked on armed with two iPhones loaded with music and movies.

When we got to the hotel room, there was still one movie that we wanted to watch that was on my iPhone. Rather than dialing back to my home server and trusting the hotel wifi to be reliable enough to pull down the movie again in a reasonable time without kicking out.

Instead, we remotely connected to my iPhone over SSH and hunted around for a few minutes to see where the media directory is (which I've since symlinked for easy access). Once we found it, we identified the movie in question and copied it down all over a secure ad-hoc wifi connection.

Now we could hook up his laptop to the fancy wall-mounted LCD TV in the hotel room and watch the movie after an epic geek-out session.

Your Ideas

So this is a quick look at one of the reasons why Unix platforms are awesome (this includes pretty much every OS with the exception of Windows) and why I love SSH. I don't want to make it seem as though Windows isn't capable of doing the same, but it's far easier to do on a Linux box.

Now that I've shared with you what I use SSH for, I'd like to hear your ideas. What do/would you use it for?