1Password on Ubuntu 11.10 (Oneiric)

First, I apologize for being off-the-grid for so long.  I recently started working for a new company and am deep in the throes of the start-up life.  I started working on this incredibly long article about building the ultimate Ubuntu-based development machine and got kind of lost in the details once I hit about 5,000 words.  It's a very long article.

I've also been incredibly busy in mongo-development and have learned an entire catalog of new tips and tricks that I can't wait to share -- just trying to find the time to document everything!

So, in the meantime, I thought I'd share this little useful tip.

Recently, I've moved my development platform over to Ubuntu 11.10 -- out of necessity rather than choice -- and have been learning a lot about making the transition from the Mac (where we have Linux smugness without the administrative overhead) to to a more hands-on platform.

I initially chose Ubuntu because I wanted something a little more automated that RedHat or CentOS when it came to system updates and configuration -- I need concentrate of developing software, not administrating the development platform.  Ubuntu fits this requirement quite nicely.

In making the switch over from Mac to Ubuntu, most of my development tools ported straight across -- PHPStorm, Chrome, Xdebug.  Other tools are native such as mongo, apache2, mysql, and PHP5.  And still other tools are facsimiles of the Mac utilities such as guake, evolution, keepassX and others.

The one tool/utility I miss the most, however, is 1Password from AgileBits software.  Seeing how they have absolutely no plans for porting their platform over to Linux, I opted to use KeepassX as my password manager program.  Not as fancy and no browser integration, but it gets the j0b done.  And, of course, I can store my key files in the cloud using Ubuntu-One.

Until I discovered 1PasswordAnywhere.

1PasswordAnywhere is a web-based version of 1Password that gives you access to your accounts via a web portal of sorts.

I say "of sorts" ... while you're loading an HTML page into your browser, you're doing so as a file request and not as a http request.  The difference is that your "secure" data is served locally to your browser across your file system and not over the wire via the internet.

The first thing to do is locate your 1Password storage.  For most of us, this should be on dropbox.

[cc lang='bash' line_numbers='false' ]

# sudo apt-get install nautilus-dropbox

[/cc]

Open your dropbox folder from the top-menu and select your 1Password folder.

When you open the 1Password folder you want to look for the file 1Password.html.

Don't double-click on this file yet because, if you do, you're going to see this error message shown in the image below:

This error message (and sorry if this layout is a bit confusing) requires that you disable a setting in your browser (and I'm assuming you're using Chrome) for the html page to be displayed correctly.

By default, file:// URIs cannot read other file:// URIs.  You can disable this by launching Chrome from the command line with the option: --allow-file-access-from-files as shown below in the code block:

[cc lang='bash' line_numbers='false']

# nohup google-chrome --allow-file-access-from-files 2>&1 &

[/cc]

When you start Chrome with this switch, and you double-click on your 1Password.html file, you should see 1PasswordAnywhere displayed successfully in your browser window!

Couple of notes --

  • 1PasswordAnywhere locks itself after a minute requiring your master password to unlock
  • There's still no browser extension allowing you to auto-submit your credentials to a site

What you do get, however, is access to all of your 1Password data that you've saved from your other devices.  For me, personally, this is substantial and well worth the effort of loading Chrome from the command line.

It's not that I have anything against KeepassX, mind you.  It's just that I don't want the redundancy and synchronization issues of managing hundreds of logins and other account data.

I promise that I'll get the uber-article out on making the ultimate development platform on Ubuntu soon - I'm waiting until the 12.04 release which should be dropping within a week or two.

Hope this helps!