Using Duplicity to make encrypted, incremental backups to Dreamhost

Recently, Dreamhost began cracking down on people using their space to store personal backups. The policy states that only website-related content is supposed to be stored in your webspace area. They provide a 50GB area for you to store any files–called the Backups user. Previously, you could only SFTP into it or something–you couldn’t rsync to it easily, so it was approximately worthless to me. However, Dreamhost has a place where you can vote for features and changes, and one of them I was voting on was allowing rsync over SSH to your backups user. I got the email this morning saying it was completed, and decided to play around with encrypted, incremental backups using Duplicity.

I use duplicity to maintain my offsite backups with a “backups buddy,” someone I trade backups with. I don’t want to allow them access to my files, even if I trust them. What if they get pwned and my files end up on the internet? No thanks!

Duplicity is Free, open source, and relies on some nice standards. It uses gpg, and has a variety of endpoints supported, like Amazon S3, Gmail, and of course things like rsync servers and file servers.

Instead of me walking you through setting up GPG and SSH keys, why don’t I point you on over to rsync.net’s tutorial on duplicity, and add a little discussion.

First off, security. They export your gpg passphrase. That doesn’t really hide the passphrase from anyone who is logged on to your local machine. Is that ok? That’s your call. Assuming your gpg keys for backups aren’t the same as your normal keys, and assuming you don’t let other people log into your machine, and assuming you run a tight shop normally, that might be ok. This doesn’t lower the security of the remote site. If the Feds or Dreamhost or whoever try to open your files from the remote (Dreamhost’s) end, without access to your computer, this doesn’t lower the security.

There is discussion around the ‘nets about turning off signing might allow you to not have to export your passphrase. I haven’t tried this, but it sounds like it might be a worthwhile tradeoff. Increasing the security of your gpg keys but eliminating the chance you can cryptographically prove your backups weren’t tampered with in their encrypted form is a call you’d have to make.

Next, Dreamhost has a 50 GB limit on the Backups user, and instead of stopping you at 50 GB, Dreamhost will charge you 10 cents a gigabyte per month. You’ll have to monitor that yourself.

To actually use their tutorial, replace the destination of the commands to backup.dreamhost.com, and replace the user with the user that Dreamhost gives you when you activate the user through the pane.

Pretty nifty, Dreamhost, pretty nifty…