SSH and Unix Love
2008-11-13So, 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...
- http://twitter.com/Niamu/status/984832252
- http://twitter.com/Niamu/status/984801223
- http://twitter.com/Bravado/status/987298944
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;
- Mount my music folder on my Mac Pro so my local media player can play back my tunes wherever I am in the world.
- Mount all my TV shows and Movies from my Mac Pro so that Boxee can stream my entire video collection. (HD video is a little tricky depending on bandwidth of course, but SD works great.
- Mount my comic collection so Comix can connect to my collection at home on my Mac Pro. I find a netbook to be the perfect size to double as a portable ebook reader. (With the 160GB HDD in my Aspire One, I may be refining the concept soon and keeping a copy of my collection stored locally as well and use SSHFS and rsync to keep the two libraries in sync.)
- If it weren't for Dropbox I'd probably use it to connect to my document directories at home as well so I'd never forget an assignment again. But Dropbox is far too elegant of a workflow to want to mess with.
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?