Rsync titkosított mentés

 ( plt | 2019. január 8., kedd - 10:26 )

Van egy távoli ssh elérésem egy mentés tárterülethez, amire rsync segítségével másolnék fájlokat.
Azt szeretném elérni, hogy a távoli területen valamilyen titkosítással tárolódjanak a fájlok.
A távoli fájlrendszerhez nincs további hozzáférésem, azon módosítani nem tudok, így gyanítom, vagy az rsync-nek kellene tudnom olyat mondani, hogy kódolva tárolja le a fájlokat, vagy valamilyen közbenső réteget, kódoló csatornát kellene kiépítenem.
Csinált már valaki ilyet? Van ötletetek, ezt hogyan tehetném meg?

Hozzászólás megjelenítési lehetőségek

A választott hozzászólás megjelenítési mód a „Beállítás” gombbal rögzíthető.

duplicity-vel tudsz ilyet csinálni.

--
Wire - Secure Messenger: https://wire.com

+1

Ez is tetszik, csak az archívumot nem tudom fájlrendszerként felcsatolni.

szerintem a borgbackup-pal jobban jársz.

Ez a borgbackup nagyon jónak néz ki, főleg, mert userspace-be fel is tudja csatolni a mentést.
Sajnos azonban az ssh hozzáférésem rssh shellel csak scp, sftp, rsync protokollokhoz van engedélyezve. A borgbackup sajnos nem tud rssh-n keresztül csatlakozni, csak teljes jogú ssh-val.
A duplicity ismeri az sftp protokollt is, így duplicityvel fel tudok csatlakozni a tárterülethez.
Van ötleted, hogy a borgbackup-pal hogyan érhetném el az rssh shellen keresztüli tárterületemet?

rclone. Többféle módon is össze tudod kapcsolni a Borgbackup-pal. Pl. megcsinálod helyileg a backupot, majd azt rclone-nal átmásolod a távoli gépre, vagy akár használhatod az rclone mount parancsát és a felcsatolt helyre mented közvetlen a backupot.

Teljes rendszer mentésére keresek megoldást, így a helyi backup túl nagy helyet venne igénybe. A felmountolt fájlrendszerre mentés esetén nem tudom, mennyit veszít a hatékonyságából. Ráadásul így a mentés közvetlen felcsatolásához két userspace fs is kellene egymásba, aminek szintén tartok a sebességtől. Valamint nehézkessé is teszi a használatát, bár tagadhatatlan, legalább lehetséges.

Kb mennyi új adat keletkezik egy nap? Ha nem több száz GB, akkor nem fogod érezni a lassúságot, hiszen csak az differencia fog átkerülni a backup helyre.

Naponta csak néhány GB, de kritikus esetben akár több száz GB-nyi adatot kell visszaállítani.
Ráadásul nagyobb probléma, hogy kipróbáltam, én nem is működik.
Létrehoztam egy üres mappát, amire gond nélkül lefutott az init.
De ha ugyanebbe az üres mappába rclone-nal becsatoltam a távoli tárterületet, már hibával leáll a borg init:

019/01/10 10:05:42 borg/README: WriteFileHandle.Flush error: read 26 bytes expecting 0
Local Exception.
Traceback (most recent call last):
  File "/usr/lib/python3/dist-packages/borg/archiver.py", line 2052, in main
    exit_code = archiver.run(args)
  File "/usr/lib/python3/dist-packages/borg/archiver.py", line 1997, in run
    return func(args)
  File "/usr/lib/python3/dist-packages/borg/archiver.py", line 82, in wrapper
    with repository:
  File "/usr/lib/python3/dist-packages/borg/repository.py", line 81, in __enter__
    self.create(self.path)
  File "/usr/lib/python3/dist-packages/borg/repository.py", line 104, in create
    fd.write('This is a Borg repository\n')
OSError: [Errno 5] Input/output error

Találtam egy restic nevű programot is, ami tudja használni az sftp protokollt, és a fájlrendszercsatolást is támogatja, de ez minden archiváláshoz új ID-t rendel, és csak az ID alapján lehet elérni a fájlokat. Emiatt elég macerás a mentéshez való hozzáférés scriptesítése.
Lehet, hogy van ennek valami szebb módja? Használja valaki a restic-et?

Én encryptfs-ben tárolnám a fájlokat. Saját gépemen feloldva matatok benne (ez egy független mappa az encryptfs saját mappájától.)
Rsynccel pedig az encryptfs saját mappáját tolnám fel, ami egy nagy zanza.

Jól értem, hogy az adatok a gépeden duplikálva vannak tárolva?

Nem jól érted. Az encryptfs egy mappában dolgozik, ami alapból egy zanza.
Ha feloldod a jelszóval, akkor futásidőben egy mappába csatolja a tartalmát olvasható módon.
Visszakérdezek: ha van egy titkosított merevlemezed és azt indításkor feloldod, 2x van tárolva az adatod? Persze, hogy nem.
Ez nem blokk színű, hanem fájlszintű titkosítás.
Lehez ez zavart meg: "ez egy független mappa az encryptfs saját mappájától.)"

Úgy független, hogy ott nem zanza van, hanem olvasható cucc. Azt használjuk a gyakorlatban. Ha módosítasz, az visszaíródik a zana mappába (ezt kell rsyncelni).

Azt hiszem, megértettem. Ezek szerint te már eleve az encryptfs mappájában dolgozol. Az nem mentési mappa, hanem maga a munkamappa. És ha azt lemented bárhová, az már titkosítva lesz.
Vagyis ez csak olyan esetekben használható, ahol még nincs kialakított rendszer. Már működő rendszert így nem tudok menteni, mert ott a mentendő adatok nem encryptfs fájlrendszerben vannak.
Maga az encryptfs egyébként mennyit lassít a fájlok elérésén? Ha ugyanis ez mondjuk egy webszerver mappája, amiből kérelmeket szolgál ki, akkor számíthat, milyen gyorsan fér a fájlokhoz.

"te már eleve az encryptfs mappájában dolgozol"

Nem, egy abból mountolt mappában.
Az encrypt fs mappája pl. .encfs
A munkakönyvtár pedig a /var/www

Előbb átrakok mindent a www-ból, létrehozok egy szűz encfs-t, felcsatolom a www-be és visszatöltöm a www tartalmát. Tádám, minden wwwben lévő cucc a .encfs-ben megjelenik zanzaként. Ezt szinkronizálom. Ha lecsatolom a www-t, üres lesz a mappa -> nem foglal 2x helyet.

+1 én is ezt csinálom, így egy csomó backup megoldás szóba jöhet

rclone?
Tud SFTP-t es ugy tunik, hogy fel is tudja mountolni.
En OneDrive-ra mentek vele on-the-fly titkositassal.


Sic Transit Gloria Mundi

Az rclone nem tud fájljellemzőket menteni (jogok, tulajdonos), csak magukat a fájlokat és a nevüket.

Sshfs-sel fel tudod mount-olni?
Ha igen, akkor egyszerűen egy truecrypt file-t kell oda létrehozni és a backup idejére felmount-olod sshfs-sel és a truecrypt-tel is felcsatolod majd mehet a mentés. Utána truecrypt lecsatol, sshfs lecsatol.