Linux – Encrypted Remote Backups via Rsync

backupencryptionlinuxrsync

I run a small modest CentOS server at my house for misc backups, etc. My friend on the other side of town also runs a small modest server at his house for similar purposes. We have been toying with the idea of using eachothers servers to do remote/offsite backups.

Basically, we'd each buy an external hdd to store at eachothers homes, hooked up to eachothers servers. Then, we'd each setup scheduled rsync's to push the appropriate data from one server to the external hdd on the other server. Pretty straightforward for the most part.

However, one thing that is important (at least for me) is data encrpytion. I want to store my data on the external hdd on my friends server. But I don't want my friend (or anyone who accesses my friend's server) to be able to read whats on the external hdd.

What is the best approach to this? Can you use rsync to send data to an encrypted hdd drive and somehow pass a passphrase along with the data that it uses to write it once it reaches the server?

Best Answer

I would take a look at Duplicity. It is free and easy to use.

Duplicity will do full and incremental backups and transfer them using rsync, FTP, SFTP, etc.

Duplicity uses GPG to encrypt the backups and uses signature files and what not.

I use it to backup my email servers and it is fantastic, one simple batch file.