データのバックアップをリモートサーバーに保存したいのですが、バックアップサーバーでデータが暗号化されていないことを確認したくありません。単一のファイルを編集してバックアップしても、すべてが暗号化されて再度送信されることはありません。リモートサーバーは、ディレクトリ構造(特にディレクトリ名)さえ知らないことが望ましいです。
そのような解決策はありますか?
最善の方法は Duplicity です。唯一の欠点は、ハードリンクを処理しないことです。
別の解決策は Tartarus で、GPGとFTP/SSHを介してバックアップサーバーに直接パイプすることができます。増分を行います。
これが ドイツ語でのタルタルスの指示 です。
rsyncrypto が気に入ると思います。
Rsyncryptoを使用して、ローカルに保持するキーを使用して、プレーンテキストディレクトリから暗号化ディレクトリにファイルを暗号化し、暗号化ディレクトリとプレーンテキストディレクトリからファイルを復号化します。
暗号化されたディレクトリとリモートホストの間で同期するには、rsyncを使用します。
Sourceforgeからダウンロードできるrsyncrypto実装は、バイト単位の変更だけでなく、挿入や削除も処理します。
Rsyncryptoを使用すると、すべての暗号化キーがローカルコンピューターを離れることはありません。
「リモートサーバーは、ディレクトリ構造さえ知らないほうがよい」
その場合は、--name-encrypt=map
オプション。これにより、暗号化された各ファイル名はランダムな文字列になり、デフォルトではすべてのマングルされたファイル名が単一のディレクトリに保存されます。実際のファイル名とフォルダ名は、「filemap」という名前の(暗号化された)ファイルに保存されます。
Encfは「逆」モードで使用できます。これにより、ローカルフォルダの暗号化された「ビュー」が提供されます。次に、暗号化されていないデータの代わりにこの暗号化されたビューをrsyncします。これにより、データの暗号化されたコピーがなくても、rsyncのすべての利点が得られます。
tarsnap はそれを行いますが、リモートサーバーを制御しません。この目的は(有料)サービスとしてのみ利用可能です。ただし、要件には応えます。
Googleドライブの代わりに暗号化されたrsyncのようなバックアップを検索する場合は、 https://github.com/HolgerHees/cloudsync を試すことができます。