Я думаю, вам понравится rsyncrypto.
Используйте rsyncrypto для шифрования файлов из вашего открытого текстового каталога в ваш зашифрованный каталог и дешифрования файлов из вашего зашифрованного каталога и вашего открытого текста с использованием ключей, которые вы храните локально.
Используйте rsync для синхронизации между вашим зашифрованным каталогом и удаленным хостом.
Реализация rsyncrypto, которую вы можете загрузить сейчас из Sourceforge, обрабатывает не только изменения в байтах, но также и вставки и удаления.
С rsyncrypto все ключи шифрования никогда не покидают локальный компьютер.
"Удаленный сервер предпочтительно не должен даже знать структуру каталогов"
В этом случае вы захотите использовать опцию --name-encrypt=map
.
Это делает каждое зашифрованное имя файла случайной строкой символов, и по умолчанию все искаженные имена файлов хранятся в одном каталоге.
Истинные имена файлов и папок хранятся в (зашифрованном) файле с именем "filemap".
По теме: «Есть ли зашифрованная система контроля версий?"