Cloudspeicher mit rclone verschlüsseln

  El Pollo Diablo   Lesezeit: 30 Minuten  🗪 6 Kommentare

Das FLOSS Tool rclone eignet sich hervorragend zur Dateisynchronisierung zwischen unseren Rechnern und den Cloudanbietern unserer Wahl. Als Dreingabe ermöglicht rclone eine Ende-zu-Ende Verschlüsselung.

cloudspeicher mit rclone verschlüsseln

Im Artikel „Zum Wochenende: Die Neugier der Anderen“ habe ich über die Vorteile und Gefahren von 3rd Party Cloudanbietern geschrieben. Darin wurde aufgezeigt, dass solche Cloudspeicher nicht die sorglose Sicherheit bieten, die von den Anbietern suggeriert wird. Neben Ursachen wie physikalischem Datenverlust z.B. bei Unfällen im Rechenzentrum, kommunikativem Fehlversagen auf Seiten des Anbieters oder Datenabfluss durch Hacking werden unsere Daten durch den Cloudanbieter ungefragt, permanent analysiert und für verschiedene Zwecke inhaltlich ausgewertet. Gesetze wie der „CLOUD Act“ oder der „Digital Millenium Copyright Act“ verpflichten alle US Unternehmen (auch außerhalb der USA) dazu, den Zugriff für Behörden oder Urheber von lizenzpflichtigem Bild- und Tonmaterial zu ermöglichen. Unter bestimmten Voraussetzungen muss dazu nicht einmal ein richterlicher Bescheid vorliegen.

Detektiert ein solcher Algorithmus fälschlicherweise das Vorhandensein von Inhalten, die gegen die Nutzungsbedingungen des Anbieters verstoßen (z.B. das "Oben Ohne"-Foto unserer Freundin vom letzten Strandurlaub oder die MP3 Playlist für unser Workout) oder, schlimmer noch, als strafbar attestiert werden, droht mit einer sofortigen Sperre des Anbieterkontos auch der unwiederbringliche Verlust unserer Daten. Hängen an dem Anbieterkonto weitere Dienste (z.B. Bitlocker Keys der Windows PCs, mit dem Anbieterkonto verknüpfte Mobilgeräte, lizenzierte Office Applikationen, gekaufte Apps aus dem App-Shop des Anbieters, gekaufte Spiele aus Games-Shop des Anbieters, Emailkonten, Kalender, Kontakte, Aufgaben, Notizen etc.) kann eine Sperre ungeahnte bedrohliche Ausmaße für unsere digitale Identität bedeuten.

Aus diesen Gründen müssen wir uns eine Strategie zurechtlegen, dem unbefugten Zugriff auf unsere wertvollen Daten Einhalte zu gebieten. Zwar können wir dem Diensteanbieter nicht einfach verbieten, auf unsere Daten zuzugreifen, aber wir können dafür sorgen, dass diese Daten keinen Wert für ihn haben. Unser Werkzeug ist die Verschlüsselung unserer wertvollen Daten. Dies werden wir in diesem Tutorial-Artikel mit dem kleinen aber feinen FLOSS Tool rclone realisieren.

rclone wird gerne als das Schweizer Armeemesser für Cloud Storage bezeichnet. Der Titel ist gerechtfertigt, denn das kleine Tool hat es in sich und steht so manchen professionellen kommerziellen Lösungen in nichts nach. Mit rclone können wir Daten in die Cloud sichern und von dort wiederherstellen, Cloudspeicher analysieren, spiegeln und migrieren und als Ordner direkt in unser Dateisystem mounten. Es beherrscht verschiedene Transferprotokolle und unterstützt alle namhaften Provider direkt oder indirekt. rclone wurde von rsync inspiriert und lehnt sich an dessen Syntax an. Wer mit rsync umgehen kann, findet sich auch schnell in rclone zurecht. Wie rsync kann es komplett in der Terminalkonsole mit nur wenigen Befehlen bedient werden. Dadurch kann es sehr gut in Skripte für z.B. automatische Sicherungen eingebunden werden. Wer es grafisch mag, findet verschiedene GUIs für rclone.

In dem folgenden Tutorial installiere ich rclone auf einem Linux Mint und werde damit Dateien zwischem meinem Rechner und Dropbox übertragen. Andere Cloudanbieter werden nach dem gleichem Prinzip verbunden. Drüben in der Linux Guides Community könnt Ihr reich bebildert und mit vielen Beispielen sehen, wie ich ein OneDrive mit einem ArcoLinux verschlüsselt verbunden habe.

Der Ablauf der Einrichtung von rclone folgt dabei diesem Schema:

  • Installation von rclone
  • Einrichtung eines unverschlüsselten Endpunkts (bei rclone wird dieser Endpunkt „remote“ genannt)
  • Einrichtung eines verschlüsselten Endpunkts
  • Kopieren und Synchronisation von Dateien zum und vom verschlüsselten Endpunkt über das Terminal
  • Kopieren und Synchronisation von Dateien zum und vom verschlüsselten Endpunkt über eine rclone GUI

In meiner Dropbox existieren zwei Beispielordner namens „TOP_SECRET“ und „NOT_SO_SECRET“. Den Ordner „TOP_SECRET“ möchte ich nur verschlüsselt benutzen. Im Ordner „NOT_SO_SECRET“ möchte ich hingegen Dateien unverschlüsselt ablegen, um sie z.B. später mit anderen zu teilen. Wir können auch die gesamte Dropbox zur Verschlüsselung benutzen, anstatt nur einen bestimmten Ordner zu verwenden. Damit Ihr in diesem Tutorial jedoch den Unterschied sehen könnt, beschränke ich die Verschlüsselung auf den Ordner „TOP_SECRET“.

Installation

rclone gibt es für eine Vielzahl von Betriebssystemen und lässt sich daher problemlos in heterogenen Umgebungen aus Linux, MacOS, Windows und mehr betriebssystemübergreifend betreiben.

Für die allermeisten Linuxdistributionen lässt sich rclone direkt aus dem Repository der Distribution installieren. In meinem Fall installiere ich rclone aus dem Repository von Linux Mint.

sudo apt install rclone

Einrichtung des unverschlüsselten Endpunkts

In einer Terminalkonsole wird das Setup mit folgenden Befehl gestartet:

rclone config

Beim ersten Start erstellt rclone eine Konfigurationsdatei, in der im weiteren Verlauf alle Einstellungen geschrieben werden.

2023/08/29 16:53:49 NOTICE: Config file "/home/pollo/.config/rclone/rclone.conf" not found - using defaults

Da noch keine Endpunkte existieren, schlägt rclone vor, einen Endpunkt zu erstellen.

No remotes found - make a new one
n) New remote
s) Set configuration password
q) Quit config
n/s/q>

Mit „n“ wird ein neuer Endpunkt erstellt. In meinem Beispiel wird es ein Endpunkt bei meinem Dropboxaccount sein.

Als erstes muss dem Endpunkt ein Name vergeben werden, anhand dessen dann später der entsprechende Datenkopf wiedergefunden werden kann. Ich vergebe dazu den sprechenden Namen „Dropbox“.

name> Dropbox

Anschließend listet rclone alle Anbieter auf, mit denen sich verbunden werden kann. Ich wähle aus der Liste den Eintrag für Dropbox aus, indem ich entweder die „9“ oder „dropbox“ eintippe.

Type of storage to configure.
Enter a string value. Press Enter for the default ("").
Choose a number from below, or type in your own value
 1 / 1Fichier
   \ "fichier"
 2 / Alias for an existing remote
   \ "alias"
 3 / Amazon Drive
   \ "amazon cloud drive"
 4 / Amazon S3 Compliant Storage Provider (AWS, Alibaba, Ceph, Digital Ocean, Dreamhost, IBM COS, Minio, Tencent COS, etc)
   \ "s3"
 5 / Backblaze B2
   \ "b2"
 6 / Box
   \ "box"
 7 / Cache a remote
   \ "cache"
 8 / Citrix Sharefile
   \ "sharefile"
 9 / Dropbox
   \ "dropbox"
10 / Encrypt/Decrypt a remote
   \ "crypt"
11 / FTP Connection
   \ "ftp"
12 / Google Cloud Storage (this is not Google Drive)
   \ "google cloud storage"
13 / Google Drive
   \ "drive"
14 / Google Photos
   \ "google photos"
15 / Hubic
   \ "hubic"
16 / In memory object storage system.
   \ "memory"
17 / Jottacloud
   \ "jottacloud"
18 / Koofr
   \ "koofr"
19 / Local Disk
   \ "local"
20 / Mail.ru Cloud
   \ "mailru"
21 / Microsoft Azure Blob Storage
   \ "azureblob"
22 / Microsoft OneDrive
   \ "onedrive"
23 / OpenDrive
   \ "opendrive"
24 / OpenStack Swift (Rackspace Cloud Files, Memset Memstore, OVH)
   \ "swift"
25 / Pcloud
   \ "pcloud"
26 / Put.io
   \ "putio"
27 / SSH/SFTP Connection
   \ "sftp"
28 / Sugarsync
   \ "sugarsync"
29 / Transparently chunk/split large files
   \ "chunker"
30 / Union merges the contents of several upstream fs
   \ "union"
31 / Webdav
   \ "webdav"
32 / Yandex Disk
   \ "yandex"
33 / http Connection
   \ "http"
34 / premiumize.me
   \ "premiumizeme"
35 / seafile
   \ "seafile"

Storage> dropbox
See help for dropbox backend at: https://rclone.org/dropbox/

Die anschließenden Frage nach einer optionalen OAuth Client ID und dem OAuth Client Secret und der erweiterten Konfiguration können übersprungen werden.

OAuth Client Id
Leave blank normally.
Enter a string value. Press Enter for the default ("").
client_id> 
OAuth Client Secret
Leave blank normally.
Enter a string value. Press Enter for the default ("").
client_secret> 
Edit advanced config? (y/n)
y) Yes
n) No (default)

y/n> n

Anschließend wird die automatische Konfiguration mit „y“ bestätigt.

Use auto config?
 * Say Y if not sure
 * Say N if you are working on a remote or headless machine
y) Yes (default)
n) No

y/n> y

Es öffnet sich nun ein Browserfenster mit der Seite von Dropbox, das nach den Anmeldedaten zum Account und der Erlaubnis für rclone verlangt. Wurde die Erlaubnis erteilt, wird im Terminal das Zugriffstoken erzeugt.

If your browser doesn't open automatically go to the following link: http://127.0.0.1:53682/auth?state=eVP1Yh_pq6sdDJZW9tTxCg
Log in and authorize rclone for access
Waiting for code...
Got code
--------------------
[Dropbox]
token = {"access_token":"x0Zsxd_32mUAAAAAAAAAAXMbFe-    F_ukgEAcV8FEPCwpcoMRRRXlguTV3JFcXllRw","token_type":"bearer","expiry":"0001-01-01T00:00:00Z"}
--------------------

Die Konfiguration des Endpunkts wird mit „y“ bestätigt.

y) Yes this is OK (default)
e) Edit this remote
d) Delete this remote

y/e/d> y

Damit wurde der erste (unverschlüsselte) Endpunkt zwischen dem PC und der Dropbox erfolgreich eingerichtet und in der Liste der Endpunkte angezeigt. Ab jetzt können Dateien mit diesem (unverschlüsselten) Endpunkt ausgetauscht werden.

Current remotes:

Name                 Type
====                 ====
Dropbox              dropbox

Ich will meine Daten bei Dropbox aber auch verschlüsselt ablegen können. Deswegen richte ich mit „n“ einen weiteren Endpunkt („n – New remote“) ein.

e) Edit existing remote
n) New remote
d) Delete remote
r) Rename remote
c) Copy remote
s) Set configuration password
q) Quit config

e/n/d/r/c/s/q> n

Einrichtung des verschlüsselten Endpunkts

Diesem Endpunkt gebe ich den Namen „DropboxEncrypted“, um gleich am Namen zu erkennen, dass rclone in diesem Endpunkt nur verschlüsselt operieren wird.

name> DropboxEncrypted

In der Liste der Provider befindet sich der Eintrag „Encrypt/Decrypt a remote“. In meinem Fall ist es die Nummer „10“ oder das Wort „crypt“.

Type of storage to configure.
Enter a string value. Press Enter for the default ("").
Choose a number from below, or type in your own value
 1 / 1Fichier
   \ "fichier"
 2 / Alias for an existing remote
   \ "alias"
 3 / Amazon Drive
   \ "amazon cloud drive"
 4 / Amazon S3 Compliant Storage Provider (AWS, Alibaba, Ceph, Digital Ocean, Dreamhost, IBM COS, Minio, Tencent COS, etc)
   \ "s3"
 5 / Backblaze B2
   \ "b2"
 6 / Box
   \ "box"
 7 / Cache a remote
   \ "cache"
 8 / Citrix Sharefile
   \ "sharefile"
 9 / Dropbox
   \ "dropbox"
10 / Encrypt/Decrypt a remote
   \ "crypt"
11 / FTP Connection
   \ "ftp"
12 / Google Cloud Storage (this is not Google Drive)
   \ "google cloud storage"
13 / Google Drive
   \ "drive"
14 / Google Photos
   \ "google photos"
15 / Hubic
   \ "hubic"
16 / In memory object storage system.
   \ "memory"
17 / Jottacloud
   \ "jottacloud"
18 / Koofr
   \ "koofr"
19 / Local Disk
   \ "local"
20 / Mail.ru Cloud
   \ "mailru"
21 / Microsoft Azure Blob Storage
   \ "azureblob"
22 / Microsoft OneDrive
   \ "onedrive"
23 / OpenDrive
   \ "opendrive"
24 / OpenStack Swift (Rackspace Cloud Files, Memset Memstore, OVH)
   \ "swift"
25 / Pcloud
   \ "pcloud"
26 / Put.io
   \ "putio"
27 / SSH/SFTP Connection
   \ "sftp"
28 / Sugarsync
   \ "sugarsync"
29 / Transparently chunk/split large files
   \ "chunker"
30 / Union merges the contents of several upstream fs
   \ "union"
31 / Webdav
   \ "webdav"
32 / Yandex Disk
   \ "yandex"
33 / http Connection
   \ "http"
34 / premiumize.me
   \ "premiumizeme"
35 / seafile
   \ "seafile"

Storage> crypt
See help for crypt backend at: https://rclone.org/crypt/

Der Trick ist nun, den zuvor erstellten unverschlüsselten Endpunkt als Ziel zu verwenden. Dazu wird der Name des Endpunkts mit einem abschließenden Doppelpunkt und ohne weitere Pfadangabe verwendet (damit wird die gesamte Dropbox für die Verschlüsselung verwendet) ODER hinter dem Doppelpunkt der Pfad in der Dropbox angegeben, in dem verschlüsselt werden soll. In meinem Beispiel möchte ich ja nur den Ordner „TOP_SECRET“ für die Verschlüsselung verwenden. Deswegen lautet in meinem Beispiel das Ziel „Dropbox:TOP_SECRET“

Remote to encrypt/decrypt.
Normally should contain a ':' and a path, eg "myremote:path/to/dir",
"myremote:bucket" or maybe "myremote:" (not recommended).
Enter a string value. Press Enter for the default ("").

remote> Dropbox:TOP_SECRET

Es kann nun gewählt werden, die Dateinamen zu verschlüsseln („1“), nur zu verschleiern („2“) oder die Namen nicht zu verändern („3“) und somit nur den Inhalt der Daten zu verschlüsseln. Um volle Anonymität der Daten vor dem Anbieter zu haben, empfehle ich, den Namen zu verschlüsseln („1“).

How to encrypt the filenames.
Enter a string value. Press Enter for the default ("standard").
Choose a number from below, or type in your own value
 1 / Encrypt the filenames see the docs for the details.
   \ "standard"
 2 / Very simple filename obfuscation.
   \ "obfuscate"
 3 / Don't encrypt the file names.  Adds a ".bin" extension only.
   \ "off"

filename_encryption> 1

Im nächsten Schritt kann genauso mit dem Namen der Verzeichnisse verfahren werden. Auch hier empfiehlt sich für die volle Anonymität die Verschlüsselung der Vezeichnisnamen („1“).

Option to either encrypt directory names or leave them intact.

If filename_encryption is "off" then this option will do nothing.
Enter a boolean value (true or false). Press Enter for the default ("true").
Choose a number from below, or type in your own value
 1 / Encrypt directory names.
   \ "true"
 2 / Don't encrypt directory names, leave them intact.
   \ "false"

directory_name_encryption> 1

Als nächstes wird die Passphrase für die Verschlüsselung festgelegt. Dies kann entweder eine selbstgewähltes komplexe Passphrase oder eine generierte Passphrase sein. In beiden Fällen kann die Passphrase bis zu 1024 Bits lang sein. In diesem Tutorial lasse ich eine 1024 Bits starke Passphrase generieren („g“ und „1024“).

Password or pass phrase for encryption.
y) Yes type in my own password
g) Generate random password
y/g> g

Password strength in bits.
64 is just about memorable
128 is secure
1024 is the maximum
Bits> 1024

Die Passphrase wird in der Terminalkonsole angezeigt. Diese Passphrase sollte auf einem Offlinemedium notiert und an einem sicheren Ort verwahrt werden! Kommt die Passphrase abhanden, können verschlüsselte Daten nicht mehr entschlüsselt werden und sind verloren!

Your password is: EiwNs8b4UN9nPX8_ps8l3YGDR4IaQAEBthkOk2B9J2tNmHsT-NhkdlyKlafAYx3z17Md2cI0OVHqP69aOkp4XGa13XAAk0Q2qnHU9SYKN-V9u_8NQry60rqFYs6C-nZydVVWbjpjlCdHMq4Z-l9UHVX4ROHd952hK-xUFmvQhEY
Use this password? Please note that an obscured version of this
password (and not the password itself) will be stored under your
configuration file, so keep this generated password in a safe place.
y) Yes (default)
n) No

y/n> y

Zusätzlich speichert rclone die gehashte Passphrase in der rclone Konfigurationsdatei verschlüsselt ab. Die Frage, ob der Hash gesalzen werden soll, sollte bestätigt werden. Dadurch erlangen wir zusätzliche Sicherheit, falls uns der Rechner gestohlen werden sollte oder ein anderweitiger unbefugter Zugriff auf die Festplatte passieren sollte. Auch in diesem Fall kann entweder ein automatisch generiertes Passwort oder ein selbst gewähltes Passwort für das SALT verwendet werden. In diesem Tutorial lasse ich ein 1024 starkes Passwort für das SALT generieren.

Password or pass phrase for salt. Optional but recommended.
Should be different to the previous password.
y) Yes type in my own password
g) Generate random password
n) No leave this optional password blank (default)

y/g/n> g

Password strength in bits.
64 is just about memorable
128 is secure
1024 is the maximum

Bits> 1024

Your password is: AlRcsypgQnms1x3fUDGWsLUnmLdzFH4o4WCCZb9H_EFMidl0PX2dk495kDe1zEA-77tDRSuMtvkSQK7L_K7jDrdDE69D3LAfPRkckj27hTZn_QqdoBdg4c4YOHKHlx9DMwPQ8txc1_zZFLEp5AmZ_p1o-WWTknMY0xduXgUpFA8
Use this password? Please note that an obscured version of this
password (and not the password itself) will be stored under your
configuration file, so keep this generated password in a safe place.
y) Yes (default)
n) No

y/n> y

Die erweiterte Konfiguration wird übersprungen.

Edit advanced config? (y/n)
y) Yes
n) No (default)

y/n> n

Anschließend listet rclone den neuen Endpunkt noch einmal auf. Die Einrichtung des Endpunkts wird mit „y“ abgeschlossen und der Einrichtungsassistent mit „q“ beendet

Remote config
--------------------
[DropboxEncrypted]
remote = Dropbox:TOP_SECRET
filename_encryption = standard
directory_name_encryption = true
password = *** ENCRYPTED ***
password2 = *** ENCRYPTED ***
--------------------
y) Yes this is OK (default)
e) Edit this remote
d) Delete this remote

y/e/d> y

Current remotes:

Name                 Type
====                 ====
Dropbox              dropbox
DropboxEncrypted     crypt

e) Edit existing remote
n) New remote
d) Delete remote
r) Rename remote
c) Copy remote
s) Set configuration password
q) Quit config

e/n/d/r/c/s/q> q

Kopieren und Synchronisation von Dateien zum und vom verschlüsselten Endpunkt über das Terminal

In diesem Beispiel möchte ich den Inhalt des MP3 Ordners „Abney Park - Technoshanties (2021)“ aus dem lokalen Ordner /Music von meinem PC in die Dropbox kopieren.

Über die Terminalbefehle rclone copy und rclone sync werden Daten zwischem dem PC und dem Endpunkt übetragen. Über eine Vielzahl von zusätzlichen Parametern kann dabei z.B. die Anzahl der gleichzeitigen Transfers, Dateiprüfung vor dem Transfer, Maximales Übertragungsvolumen, Übertragungsgeschwindigkeiten, Fortschrittsanzeige etc. gesteuert werden. Ich empfehle ich Euch zum tieferen Verständnis die rclone Dokumentationsseite zur Dateiübertragung.

Der Befehl ist immer gleich aufgebaut

rclone copy  
rclone sync  

Wichtig: Ihr solltet den Unterschied zwischen kopieren und synchronisieren kennen. Kopiert Ihr den Inhalt eines Ordners zwischen zwei Endpunkten, wird das Ziel um die Dateien aus der Quelle ergänzt und vorhandene gleiche Dateien überschrieben, falls sie existieren. In der Quelle nicht vorhandene Dateien bleiben im Ziel erhalten.

Synchronisiert Ihr den Inhalt zwischen zwei Endpunkten, werden alle in der Quelle nicht vorhandenen Verzeichnisse und Dateien im Ziel ohne Rückfrage entfernt. Wer auf diesem Weg schonmal einige Terrabyte an Fotos oder Videos unbeabsichtigt im Ziel gelöscht hat, weil nur ein neues Foto vom lokalen PC synchronisiert werden sollte, weiß wovon ich spreche. ;-)

In meiner täglichen Arbeit mit rclone hat sich für meine Anforderungen diese Befehlskette als optimal erwiesen.

Beispiel für das unverschlüsselte Kopieren:

rclone copy -Pv --check-first --transfers=4 --max-transfer=10G --cutoff-mode soft ~/Music/"Abney Park - Technoshanties (2021)" Dropbox:NOT_SO_SECRET/

2023-08-29 18:43:27 INFO  : Dropbox root 'NOT_SO_SECRET': Running all checks before starting transfers
2023-08-29 18:43:27 INFO  : Dropbox root 'NOT_SO_SECRET': Checks finished, now starting transfers
2023-08-29 18:43:47 INFO  : 01 - Old Maui.mp3: Copied (new)
2023-08-29 18:43:47 INFO  : 02 - The Derelict.mp3: Copied (new)
2023-08-29 18:43:48 INFO  : 03 - The Wellerman.mp3: Copied (new)
2023-08-29 18:44:09 INFO  : 04 - The Last Shanty.mp3: Copied (new)
2023-08-29 18:44:14 INFO  : 07 - Drunken Sailor.mp3: Copied (new)
2023-08-29 18:44:15 INFO  : 05 - Spanish Ladies.mp3: Copied (new)
2023-08-29 18:44:21 INFO  : 06 - A Drop Of Nelson's Blood.mp3: Copied (new)
2023-08-29 18:44:35 INFO  : 10 Blow The Man Down.mp3: Copied (new)
2023-08-29 18:44:37 INFO  : 09 - Aether Shanty 2021.mp3: Copied (new)
2023-08-29 18:44:38 INFO  : cover.jpg: Copied (new)
2023-08-29 18:44:40 INFO  : 08 - Under The Radar.mp3: Copied (new)
2023-08-29 18:44:42 INFO  : 11 The Wrath Of Fate 2021.mp3: Copied (new)
2023-08-29 18:44:45 INFO  : 12 Whale Of A Tale.mp3: Copied (new)
Transferred:       94.580M / 94.580 MBytes, 100%, 1.216 MBytes/s, ETA 0s
Transferred:           13 / 13, 100%
Elapsed time:      1m18.3s
2023/08/29 18:44:45 INFO  :
Transferred:       94.580M / 94.580 MBytes, 100%, 1.216 MBytes/s, ETA 0s
Transferred:           13 / 13, 100%
Elapsed time:      1m18.3s

Beispiel für das verschlüsselte Kopieren:

rclone copy -Pv --check-first --transfers=4 --max-transfer=10G --cutoff-mode soft ~/Music/"Abney Park - Technoshanties (2021)" DropboxEncrypted:

2023-08-29 19:04:38 INFO  : Encrypted drive 'DropboxEncrypted:': Running all checks before starting transfers
2023-08-29 19:04:38 INFO  : Encrypted drive 'DropboxEncrypted:': Checks finished, now starting transfers
2023-08-29 19:04:55 INFO  : 03 - The Wellerman.mp3: Copied (new)
2023-08-29 19:04:57 INFO  : 01 - Old Maui.mp3: Copied (new)
2023-08-29 19:05:02 INFO  : 02 - The Derelict.mp3: Copied (new)
2023-08-29 19:05:22 INFO  : 05 - Spanish Ladies.mp3: Copied (new)
2023-08-29 19:05:24 INFO  : 07 - Drunken Sailor.mp3: Copied (new)
2023-08-29 19:05:27 INFO  : 06 - A Drop Of Nelson's Blood.mp3: Copied (new)
2023-08-29 19:05:35 INFO  : 04 - The Last Shanty.mp3: Copied (new)
2023-08-29 19:05:45 INFO  : 10 Blow The Man Down.mp3: Copied (new)
2023-08-29 19:05:47 INFO  : 08 - Under The Radar.mp3: Copied (new)
2023-08-29 19:05:47 INFO  : 09 - Aether Shanty 2021.mp3: Copied (new)
2023-08-29 19:05:48 INFO  : cover.jpg: Copied (new)
2023-08-29 19:05:56 INFO  : 11 The Wrath Of Fate 2021.mp3: Copied (new)
2023-08-29 19:05:57 INFO  : 12 Whale Of A Tale.mp3: Copied (new)
Transferred:       94.604M / 94.604 MBytes, 100%, 1.202 MBytes/s, ETA 0s
Transferred:           13 / 13, 100%
Elapsed time:      1m20.1s
2023/08/29 19:05:57 INFO  :
Transferred:       94.604M / 94.604 MBytes, 100%, 1.202 MBytes/s, ETA 0s
Transferred:           13 / 13, 100%
Elapsed time:      1m20.1s

Die Parameter aus diesem Beispiel bedeuten folgendes:

-Pv: rclone soll einen Fortschritt anzeigen und diese Anzeige stetig aktualisieren --check-first: rclone soll vor dem Transfer die Dateien zwischen Quelle und Ziel abgleichen und alle Dateien überspringen die im Ziel bereits mit gleichem Namen, gleicher Größer und gleichem Änderungsdatum existieren -transfers=4: rclone soll maximal 4 Dateien gleichzeitig übertragen --max-transfer=10G: rclone soll nach 10 Gigabyte Datenübetragung abbrechen --cutoff-mode soft: wenn die 10 GB Grenze für maximale Übetragung erreicht ist, soll rclone nicht einfach hart aufhören, sondern bestehende Transfers noch abschließen, auch wenn die 10 GB Grenze dadurch überschritten werden würde

Beispiel für das unverschlüsselte Synchronisieren:

rclone sync -Pv --check-first --transfers=4 --max-transfer=10G --cutoff-mode soft ~/Music/"Abney Park - Technoshanties (2021)" Dropbox:NOT_SO_SECRET/

Beispiel für das verschlüsselte Synchronisieren:

rclone sync -Pv --check-first --transfers=4 --max-transfer=10G --cutoff-mode soft ~/Music/"Abney Park - Technoshanties (2021)" DropboxEncrypted:

In der Dropbox sind nun jeweils in den Ordnern „NOT_SO_SECRET“ und „TOP_SECRET“ die MP3 Dateien abgelegt. Die über den verschlüsselten Endpunkt kopierten Dateien liegen im Ziel in verschlüsselter und anonymisierter Form, sodass weder der Cloudanbieter noch ein Hacker aus diesen Daten nutzen ziehen könnte.

Über die Terminalkonsole können die Daten im verschlüsselten Enddpunkt mit dem ls Kommando dennoch ganz normal angezeigt werden, sofern der verschlüsselte Endpunkt angesprochen wird.

rclone ls DropboxEncrypted:

7721865 01 - Old Maui.mp3
7701705 02 - The Derelict.mp3
5688585 03 - The Wellerman.mp3
9631039 04 - The Last Shanty.mp3
8310345 05 - Spanish Ladies.mp3
11217225 06 - A Drop Of Nelson's Blood.mp3
10284105 07 - Drunken Sailor.mp3
8062665 08 - Under The Radar.mp3
8116425 09 - Aether Shanty 2021.mp3
7423172 10 Blow The Man Down.mp3
7915785 11 The Wrath Of Fate 2021.mp3
7041225 12 Whale Of A Tale.mp3
60292 cover.jpg

Werden dieselben Daten über den unverschlüsselten Endpunkt abgefragt, werden sie verschlüsselt angezeigt.

rclone ls Dropbox:TOP_SECRET/

10286649 0tt92f25giqa8f2sd3f2ef0dc16ksa8tgvlff8u2sresd67o1th0
7703625 3ulb102vle0ecqbgjrn3ls70dg1v2d6u3o3gv5dda3nhttnoejd0
11220009 6nqqoquv78v512o27e8cat0467il3oetsf558ujnklihg5k1ovno565kckmeqoml8jq9vs30t3pm2
60340 74g7fn7gcfn2dv26hh4ieomtvg
9633423 8or8u7n05hhc5kl50eeg704p2roln6eb19ffb40okoav6re8q3g0
7425028 9vcltkv0us84cma7mamkiifrug0q5iip0v7mjibonbjjgmeicc7g
8064681 gr3h9vrpfsta743c2qe32011anlon4hsinjl5fvahvl5rr8f6n90
8118441 j0ng6m4hpk5s4h8rs3mpplnpf50dukgn5jm67qcci77ia92vq5mg
7723785 kkeqqnga6l5uiu27fh7apd3qfk05j9251hhid9v9i2gd8n75ccl0
5690009 od9m2qhvd9mnobpmmoq8s4an1ropgqljrgrhh38smhl2ij056fp0
7042985 q2m1b2lq4lu8pu686cuh0atsc6lb71e76rp2i4njq5vqo5u0mjq0
8312409 rtd1i74oru7lrc28hkvkpmlrq0medjcmfsjmc7fh02orac9iun70
7917753 ssmai6anru6scpqquoistr884vmne8o2u0h95kn5rpm4ihvhsch0

Wenn Daten vom Endpunkt auf einen PC übetragen werden sollen, werden Quelle und Ziel im Befehl einfach miteinander vertauscht.

rclone copy -Pv --check-first --transfers=4 --max-transfer=10G --cutoff-mode soft DropboxEncrypted:  ~/Music/"Abney Park - Technoshanties (2021)"
2023-08-29 19:15:52 INFO  : Local file system at /home/pollo/Music/Abney Park - Technoshanties (2021): Running all checks before starting transfers
2023-08-29 19:15:52 INFO  : Local file system at /home/pollo/Music/Abney Park - Technoshanties (2021): Checks finished, now starting transfers
2023-08-29 19:15:55 INFO  : 02 - The Derelict.mp3: Copied (new)
2023-08-29 19:15:56 INFO  : 03 - The Wellerman.mp3: Copied (new)
2023-08-29 19:15:59 INFO  : 01 - Old Maui.mp3: Copied (new)
2023-08-29 19:15:59 INFO  : 04 - The Last Shanty.mp3: Copied (new)
2023-08-29 19:16:01 INFO  : 05 - Spanish Ladies.mp3: Copied (new)
2023-08-29 19:16:03 INFO  : 06 - A Drop Of Nelson's Blood.mp3: Copied (new)
2023-08-29 19:16:04 INFO  : 08 - Under The Radar.mp3: Copied (new)
2023-08-29 19:16:06 INFO  : 07 - Drunken Sailor.mp3: Copied (new)
2023-08-29 19:16:06 INFO  : 09 - Aether Shanty 2021.mp3: Copied (new)
2023-08-29 19:16:06 INFO  : cover.jpg: Copied (new)
2023-08-29 19:16:09 INFO  : 11 The Wrath Of Fate 2021.mp3: Copied (new)
2023-08-29 19:16:09 INFO  : 10 Blow The Man Down.mp3: Copied (new)
2023-08-29 19:16:09 INFO  : 12 Whale Of A Tale.mp3: Copied (new)
Transferred:       94.580M / 94.580 MBytes, 100%, 5.396 MBytes/s, ETA 0s
Transferred:           13 / 13, 100%
Elapsed time:        18.2s
2023/08/29 19:16:09 INFO  :
Transferred:       94.580M / 94.580 MBytes, 100%, 5.396 MBytes/s, ETA 0s
Transferred:           13 / 13, 100%
Elapsed time:        18.2s

Kopieren und Synchronisation von Dateien zum und vom verschlüsselten Endpunkt über eine rclone GUI

Obwohl rclone in der Konsole leicht zu erlernen ist und schnell von der Hand geht, mögen nicht alle die Verwendung der Konsole und arbeiten lieber mit grafischen Tools. Für diesen Einsatz gibt es diverse GUIs für rclones auf den verschiedenen Betriebssystemen. Die rclone Entwickler bieten z.B. eine GUI an, die über den Internetbrowser bedient wird.

Eine einfache, empfehlenswerte GUI ist rclone Browser, die es als Appimage oder in den Repositories der meisten Distributionen gibt.

sudo apt install rclone-browser

Über diese GUI wird der entsprechende Endpunkt ausgewählt und dann über den integrierten Dateimanager angesprochen oder als Ordner im eigenen Dateisystem gemountet werden, um direkt auf den Endpunkt zuzugreifen.

Von mehreren Rechner auf den verschlüsselten rclone Endpunkt zugreifen

Jetzt, wo wir die ersten Dateien erfolgreich mit rclone verschlüsselt in der Cloud abgelegt haben und von einem PC auf den Endpunkt zugreifen können, stellt sich die Frage "Wie können wir von mehreren verschiedenen Geräten auf den verschlüsselten cloudspeicher zugreifen?".

Die Antwort ist recht simpel. Auf jedem Endgerät, auf dem mit rclone auf den verschlüsselten Cloudspeicher zugegriffen wird, müssen wir folgendes tun:

  • rclone installieren
  • den unverschlüsselten Endpunkt für den Cloudspeicher auf dem Endgerät konfigurieren
  • den verschlüsselten Endpunkt für den Cloudspeicher auf dem Endgerät konfigurieren und dabei dieselbe Passphrase verwenden

Auf diese Art und Weise können wir betriebssystemübergreifend z.B. von Linux, MacOS, Windows oder Android (z.B. mit der Android App "RCX") auf den verchlüsselten Cloudspeicher zugreifen und Datzen austauschen.

Fazit

Mit rclone lassen sich schnell und relativ einfach auch unsichere (= nicht unter eigener Kontrolle) Cloudspeicher datensouverän nutzen, ohne Gefahr zu laufen, ein unschuldiges Opfer eines fehlgeleiteten oder unerwünschten Schnüffel-Algorithmus oder Doxxing durch unbefugtem Zugriff zu werden. Vor physikalischem Datenverlust durch Unfälle oder Hacks schützt die Verschlüsselung nicht. Daher sollten wir zusätzlich ein Datenbackup- und Restorekonzept haben. Dieses Konzept lässt sich mit rclone prima ergänzen, um z.B. ein verschlüsseltes Offsite-Backup unserer Daten abzulegen.

Titelbild: https://unsplash.com/photos/FnA5pAzqhMM

Tags

Apps, Gesellschaft, Privacy, Tipps & Tricks

Klaus
Geschrieben von Klaus am 1. September 2023 um 10:38

Danke! Sehr deutlich und ausführlich. Du hast mir die Nutzung von rclone schmackhaft gemacht.

UbIx
Geschrieben von UbIx am 2. September 2023 um 09:09

Leider wurde RCX schon 2 Jahre nicht mehr aktualisiert. Bei Sicherheits relevanten Programmen meist kein gutes signal.

Julian
Geschrieben von Julian am 2. September 2023 um 19:40

Vorschläge für Alternativen aus dem f-droid oder Play Store?

B.Gates
Geschrieben von B.Gates am 4. September 2023 um 10:43

Termux von f-droid beinhaltet rclone in der Version 1.63.1.. Das ist aktuell der stabile Release. Da man den gemounteten Ordner mit einem Android-File-Browser ohne Root nicht nutzen kann, fällt diese Option für die meisten Nutzer aus.

Holger
Geschrieben von Holger am 2. September 2023 um 11:02

Vielen Dank für diese Vorstellung und Praxisanleitung. Damit werde ich mal meinen Onlinespeicher einrichten und später mit Daten füttern.

Olaf
Geschrieben von Olaf am 3. September 2023 um 14:14

Danke für diese ausführliche Anleitung.