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