Review: Meerkat (SSH Tunnels Made Easy)

June 28, 2008 · 25 comments

Back in May I did a bit of traveling and became somewhat paranoid about the Internet connections I found at various hotels. I began using SSH tunnels to protect my web traffic when using Internet connections I did not trust. While setting up an SSH tunnel is a fairly trivial matter for those familiar to the command line, it’s not the same for everyone. Meerkat, from the developer that brought you Pukka, makes using and managing ssh tunnels easy.

About Meerkat. SSH Tunnels Made Easy

How To Use Meerkat

Create an account with your server. You’ll need SSH access but you probably already have that.

Meerkat - Add Account

Add an SSH tunnel. I created one with dynamic port forwarding and will use it for all my web traffic.

Meerkat - Add Tunnel

OS/Browser Configuration

Go to the main Meerkat window and ensure that there is a check in the box marked “Active.” The SSH tunnel should now be active, but your browser and OS need to know that it’s there so they can use it.

In OS X, head over to System Preferences » Network » Advanced » Proxies. Check the box next to SOCKS Proxy, type in “localhost” with port 8080 for the server and click OK, then Apply. Safari should now be utilizing the SSH tunnel.

Meerkat - Configure Leopard and Safari

To get Firefox 3 to use the tunnel, go to Preferences » Advanced » Network » Settings and select the manual proxy configuration radio button. Enter in localhost and port 8080 for SOCKS Host.

Meerkat - Configure Firefox 3 Proxy

I recommend using Firefox 3 when browsing with an SSH tunnel since it uses remote DNS by default (network.proxy.socks_remote_dns = true in about:config). Basically, with a SOCKS 5 proxy Firefox can determine which side of the proxy handles DNS work. If done locally, people snooping around your network traffic can still see what domains you’re browsing, although they won’t see particular URLs. The remote DNS setting ensures that your trusted server takes care of all DNS lookups.

Testing

You can test to see if the tunnel is working by visiting a site like What Is My IP. If the IP address listed is that of your server, you’re good to go. The only downside of SSH tunnels is the longer distance and inherit latency issues that your web traffic incurs. For example, my bandwidth more than halved when the SSH tunnel was active. That’s the price of security though.

Media Temple ISP

Thoughts on Meerkat

Meerkat is unobtrusive (I prefer disabling the dock icon and just have a menubar icon) and makes using SSH tunnels easy. You don’t have to fire up a command line or write a script to automatically create a tunnel when you want to use it. You only need to turn on Meerkat. Whether that functionality is worth the $20 license cost is up to you.

Other Meerkat features I haven’t yet tinkered with include Growl notifications, Bonjour service advertising (make a tunnel and let other networked Macs access it over Bonjour) and application triggering (have Meerkat open whatever app you like when an SSH tunnel is created).

Do you browse on untrusted networks from time to time and use SSH tunnels to add in security? Would you use Meerkat?

PaulStamatiou.com runs on the Thesis Theme for WordPress

How smart is your Theme?  How good is your support? Check out ThesisTheme for WordPress.

Thesis is the search engine optimized WordPress theme of choice for serious online publishers. If you’re a blogger who doesn’t understand a lot of PHP, Thesis will give a ton of functionality without having to alter any code. For the advanced, Thesis has incredible customization possibilities via Thesis hooks.

With so many design options, you can use the template over and over and never have it look like the same site. The theme is robust and flexible enough not only to accommodate a site like PaulStamatiou.com, but also to enable the site to run far more efficiently than it ever has before.

{ 2 trackbacks }

ice crums - Review: Meerkat (SSH Tunnels Made Easy)
July 14, 2008 at 2:51 am
How To/Review: Surf Securely with VyprVPN — PaulStamatiou.com
January 14, 2010 at 10:21 pm

{ 23 comments… read them below or add one }

1 Jonathan Solichin June 29, 2008 at 1:21 am

Seems like a cool app. Too bad I have a pc though.

Reply

2 Jeremy Ricketts June 29, 2008 at 4:02 am

Gawd I love this blog.

Reply

3 rmaspero June 29, 2008 at 5:10 am

I sort of understand that and it looks a lot simpler than I thought it would be

Reply

4 Richard June 29, 2008 at 5:20 am

I’ve been using an SSH tunnel to my web host to watch Hulu videos for a while (command line, rather than an app), but I always wondered: Are web hosts likely to be ok with utilizing their SSH for this kind of thing? I guess it depends a lot on how much bandwidth you’re using.

Reply

5 Theo R June 29, 2008 at 5:33 am

Is anyone aware of something similar that I could use on a Windows VISTA machine that doesn’t involve two or three clients/managers stuck together?

Oh, and it must work unlike the other ones that i’ve seen!

Theo

Reply

6 Michael June 29, 2008 at 6:04 am
7 Matt B June 29, 2008 at 10:18 am

There’s an app very similar in functionality to this by the looks of it called SSHKeychain. While the actual configuration isn’t quite as dumbed down, for the uninitiated it’s a very nice FREE option. Nice find, though!

Reply

8 Ren June 29, 2008 at 12:53 pm

That’s a really awful icon/logo.

Reply

9 Bayliss June 29, 2008 at 5:52 pm

I never knew there was an app for this, i normally just wip open terminal and wizz in “ssh -ND 9999 user@server.com” and set up it for local in firefox. I wish there was a way round my college’s internet blocks though. Blocks SSH, VPN’s, Proxies.

Reply

10 Seb Payne June 30, 2008 at 4:18 pm

I know it’s as advanced but I’ve used SSH Tunnel Manager which is free to manage my tunnels. When I’m at university, all SMTP connections are blocked so I do a tunnel to my MediaTemple server and send to Google Mail\s SMTP there.

It works fine, if you know what you are doing. Much easier than running commands though. No problems with Tiger or Leopard.

Reply

11 James Cassell June 30, 2008 at 5:39 pm

I might use it if I were on a mac. — I set up such tunnels using the command line quite frequently (on my linux machines).

Reply

12 Frank 'viperteq' Young June 30, 2008 at 11:21 pm

Paul, what’s the difference between SSH and VPN? I know that I should know this, but sadly I don’t. I ask because I’ve started to notice that when I’m at school, U.C.’s N.O.C. is starting to block certain protocols (mainly Bittorrent, but a few others). I was told that by an acquaintence that setting up a VPN could solve that issue. Would an SSH tunnel to a server that I “own” do the same thing or are SSH and VPN to completely different things?

Reply

13 Paul Stamatiou July 1, 2008 at 12:54 pm

@Frank –

SSH dynamic proxies are just SOCKS proxies whereas VPNs work on the link layer (they get all the traffic). That is to say that VPNs work at a lower level of things. VPN > SSH proxy. However with some effort you can use SSH as a VPN (SSH can do stuff with tun/tap devices, just like VPN).

Reply

14 Kevin July 1, 2008 at 7:56 pm

I wish I would have read this about a month ago. At some point during the last few months while I was doing a ton of traveling, someone sniffed my bank user/pass and tried to access my account (from India). My bank somehow realized this and cut online access to my account before anything happened. But basically I had to have those accounts closed and get new accounts. It made me review all my other passwords and usernames related to anything financial and take action accordingly.

I’m usually very good about doing stuff on open networks but I guess I slipped up at some point during the time when I was traveling often for work. That’s the only way I can think that someone sniffed my traffic. I’ll have a look at this app (and others recommended) and the methods used. Thanks!

Reply

15 Kevan July 2, 2008 at 12:21 pm

If you run your own server at home (and can route through there instead of your webhost), you can do things a little differently in case you are on a network that blocks ssh – run sshd on port 443. It’s pretty easy to do – the sshd_config file usually has a commented out line like #Port 22. Uncomment it (so it continues to listen to the regular port) and add a line like Port 443. Now, when you connect with ssh (command line or however), make sure you go to port 443 instead of the regular 22. The trick here is that places that block ports rarely block 443 – people need to be able to get to secure websites.

Reply

16 Randy July 7, 2008 at 5:54 pm

Can anyone please point me to a resource with instructions how to do this through my webhost running XP? And also running through my home computer using XP? Thanks!

Reply

17 Jerry Chacon July 7, 2008 at 6:43 pm

Paul:
Any idea how to get Skype for Mac to use the Meerkat SOCKS Tunnel? That…all by itself might be enough to get me to buy Meerkat.
– Jerry

Reply

18 Brett July 8, 2008 at 11:03 pm

@Paul

Thanks for another great article and I was able to get it running on my (dv) wirh no issues. Now to see how this affects my bandwidth usage with <mt). ;)

Reply

19 Jonathan Groll July 12, 2008 at 7:45 am

I can’t believe you would recommned that other people waste 20 bucks like this.
Maybe for yourself, if you’re deathly petrified of the command line.

But really, how difficult is it to type in
ssh -D 8080 paulstamatiou.com

*bewildered*???

Reply

20 Jeff Avery July 14, 2008 at 12:04 pm

Jonathan Groll wrote
>> I can’t believe you would recommned that other people waste 20 bucks like this.
>> Maybe for yourself, if you’re deathly petrified of the command line.

>> But really, how difficult is it to type in
>> ssh -D 8080 paulstamatiou.com

>> *bewildered*???

* “Enable this tunnel when Meerkat starts”
* “Automatically enable when application starts up” (and teardown afterwards)
* “Autoreconnect” when network changes.

Meerkat automates the tedium. Sure you can do all of this through the command line, but Meerkat makes it seamless so that you don’t have to continually setup and tear down tunnels (e.g. I work from a notebook and frequently move between networks, which causes this. If you work from a desktop you likely won’t feel the pain).

Worth $20? Depends on how often you do these things manually. It’s worth it for me, and I’ll be registering.

Reply

21 Toby July 14, 2008 at 2:41 pm

OpenVPN is *much* easier and somewhat more secure (no shell account needed), X509 certificate management (you can grant access to other users without granting shell, selectively revoke, etc). Once the daemon is started, you never need to do anything more.

In fact ssh works well as a layer above OpenVPN since TCP connections over the vpn will stay up for several hours, even if you sleep your laptop or change locations/ISPs. In other words, you can log in ssh over vpn in the morning in the office, and the same connection will be up in the evening when you carry your laptop to home or hotel.

Furthermore, you can use multiple services without needing to open any tunnels – not only do I always browse via vpn proxy, I also send and receive all smtp/pop mail over the vpn as well. And did I mention, once the openvpn daemon starts, it’s set and forget? And it’s cross-platform (OS X, Linux, Windows): http://openvpn.net

Reply

22 kebmo19 July 21, 2008 at 8:09 pm

Awesome, I’m totally doing this thru Sbux hotspot!

Reply

23 jonmul July 26, 2008 at 12:48 pm

Cheers Paul for this useful intro to using Meerkat.

Just had a quick question for you if you have time. How can you set up other applications to use the SSH tunnel created in Meerkat – specifically I’m thinking of Mail, iChat and FTP based apps such as Transmit or Coda?

Thanks again!

Reply

Leave a Comment

You can use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

Previous post:

Next post: