Jak wykonać zaszyfrowaną kopię zapasową podobną do rsync?

38

Chcę zapisać kopię zapasową moich danych na zdalnym serwerze, ale nigdy nie chcę, aby serwer kopii zapasowej widział dane niezaszyfrowane. Edycja pojedynczego pliku i tworzenie kopii zapasowej nie powinno skutkować zaszyfrowaniem i ponownym przesłaniem wszystkiego. Serwer zdalny najlepiej nie powinien nawet znać struktury katalogów (a zwłaszcza nazw katalogów).

Czy istnieje takie rozwiązanie?

intuicyjny
źródło
Sprawdź to rozwiązanie EncFS na serverfault: serverfault.com/a/268915/185896
Mark K Cowan

Odpowiedzi:

25

Najlepszą rzeczą w okolicy jest Duplicity . Jedyną wadą jest to, że nie obsługuje hardlinków.

Innym rozwiązaniem jest Tartarus , który można przesyłać przez GPG i FTP / SSH bezpośrednio do serwera kopii zapasowej. Robi przyrosty.

Oto instrukcje Tartarusa w języku niemieckim .

Pistolet
źródło
(Edycja 2013) Znaleziono na github: github.com/wertarbyte/tartarus ; to GPLv3; Sprawdzę, czy dziś jest tak fajnie, jak w 2011 roku;)
Cerber
2019 tutaj. tartarus nie starzeje się dobrze. dojrzałość, ale rozwój nadal wygląda, jakby był hostowany na stronie geocities
jnovack
9

Myślę, że spodoba ci się rsyncrypto .

Użyj rsyncrypto, aby zaszyfrować pliki z katalogu zwykłego tekstu do zaszyfrowanego katalogu oraz odszyfrować pliki ze swojego zaszyfrowanego katalogu i katalogu zwykłego tekstu, używając kluczy przechowywanych lokalnie.

Użyj rsync do synchronizacji między zaszyfrowanym katalogiem a hostem zdalnym.

Implementacja rsyncrypto, którą możesz pobrać teraz z Sourceforge, obsługuje nie tylko zmiany w bajtach, ale także wstawiania i usuwania.

Dzięki rsyncrypto wszystkie klucze szyfrujące nigdy nie opuszczają komputera lokalnego.

„Serwer zdalny najlepiej nie powinien nawet znać struktury katalogów”

W takim przypadku będziesz chciał skorzystać z tej --name-encrypt=mapopcji. To sprawia, że ​​każda zaszyfrowana nazwa pliku jest losowym ciągiem znaków, a domyślnie wszystkie zniekształcone nazwy plików są przechowywane w jednym katalogu. Prawdziwe nazwy plików i folderów są przechowywane w (zaszyfrowanym) pliku o nazwie „mapa plików”.

Powiązane: „Czy istnieje zaszyfrowany system kontroli wersji?”

David Cary
źródło
1

W ostatnich latach opracowano Rclone . Jego motto to „rsync dla magazynu w chmurze”, ale poza takimi rzeczami jak S3 / Azure / Google / itp. dostawców pamięci masowej w chmurze, obsługuje również synchronizację między celami lokalnymi i SSH / SFTP.

Dowolnie skonfigurowany „zdalny” użytkownik może również dodać wokół niego opakowanie krypty . Działa to jak oryginalny pilot, ale zawartość wszystkich twoich plików (i opcjonalnie samych nazw plików) jest szyfrowana po stronie klienta. Algorytm jest udokumentowany i jak dotąd z mojego doświadczenia był ogólnie płynnym procesem.

natevw
źródło
0

tarsnap to robi, ale nie kontrolujesz zdalnego serwera, ten koniec jest dostępny tylko jako (płatna) usługa. Odpowiada jednak Twoim wymaganiom.

Bruno Rohée
źródło
0

Możesz używać szyfrowania w trybie „odwrotnym”. Daje to zaszyfrowany „widok” folderu lokalnego. Następnie zsynchronizuj ten zaszyfrowany widok zamiast niezaszyfrowanych danych. Daje to wszystkie zalety rsync bez konieczności posiadania zaszyfrowanej kopii twoich danych.

Michael Wyraz
źródło