Rsync titkosított mentés

Fórumok

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ások

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?

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.

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.

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.

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

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.