Script: Verschlüsselten Ordner via Keyfile (.key) entschlüsseln

b666m

Benutzer
Mitglied seit
01. Jan 2014
Beiträge
4
Punkte für Reaktionen
0
Punkte
0
Hi zusammen,

ich möchte gerne per Script einen verschlüsselten Ordner entschlüsseln lassen.

Das Ganze jedoch nicht mit einem Passwort (dafür gäbe es ja den "synoshare --enc_mount share password" Befehl),
sondern mit der .key-Datei, welche beim Erstellen des Ordners automatisch exportiert wurde.

In der Weboberfläche kann man diese Datei einfach per Rechtsklick importieren lassen.
Wie sieht der Befehl hierfür im Terminal aus?
Geht das direkt quasi "befehlsname share keyfile" oder kann ich aus dem keyfile irgendwie das ursprüngliche Passwort extrahieren?

Ich habe es schon mit "ecryptfs-unwrap-passphrase keyfile" versucht, aber leider ohne Erfolg. :(

Dank und Gruß,
Bastian
 

Merthos

Benutzer
Mitglied seit
01. Mai 2010
Beiträge
2.709
Punkte für Reaktionen
2
Punkte
84
Mit mount sollte es eigentlich gehen.
 

b666m

Benutzer
Mitglied seit
01. Jan 2014
Beiträge
4
Punkte für Reaktionen
0
Punkte
0
Hallo,

ich habe jetzt einige Möglichkeiten durchprobiert, bin aber immer noch auf kein Ergebnis gekommen.
Wie sieht der Befehl im Detail aus?

--------
Zusatz:

Ich habe unter /usr/lib/ecryptfs/ noch die Datei "libecryptfs_key_mod_passphrase.so" gesehen.
Anscheinend wurde hier seitens Synology die passphrase-Abfrage durch ecryptfs modifiziert.
Leider nicht sehr hilfreich, da außer Maschinencode nur ein paar uninteressante Strings enthalten sind... :/

--------

Wenn man das Keyfile in der Weboberfläche importiert, sieht man in den Prozessen, dass dieses als Erstes hochgeladen wird.

Danach scheint folgender Befehl darauf angewendet zu werden: (die upload_tmp.8163 ist identisch mit meinem Keyfile.)
Rich (BBCode):
/usr/syno/sbin/ecryptfs-unwrap-passphrase /volume1/@tmp/upload_tmp.8163

Im Anschluss wird wohl nochmals der selbe Befehl auf eine andere Datei ausgeführt: (Die Datei b666m hat einen ähnlich unleserlichen Inhalt wie das Keyfile.)
Rich (BBCode):
/usr/syno/sbin/ecryptfs-unwrap-passphrase /usr/syno/etc/.encrypt/b666m

Und dann - Magie, Magie - erscheint dieser Befehl im Terminal:
Rich (BBCode):
/usr/syno/sbin/mount.ecryptfs /volume1/@b666m@ /volume1/b666m -o key=passphrase:passphrase_passwd=$PLAINTEXT_PASSWORD,ecryptfs_cipher=aes,ecryptfs_key_bytes=32,ecryptfs_passthrough=n,no_sig_cache,ecryptfs_enable_filename_crypto

Hier steht dann wirklich mein Passwort in Klartext als Parameter ($PLAINTEXT_PASSWORD) im letzten Befehl.

--------

Will ich das Ganze nachvollziehen, so frägt mich ecryptfs-unwrap-passphrase immer nach einer "Passphrase:".
Ich dachte eigentlich, dass es das admin-Passwort sein müsste (also das Passwort, welches ich beim Einrichten angegeben habe), aber nada.
Auch leer lassen oder "password" oder "synology" (in allen möglichen Variationen) funktioniert nicht.

--------

Ich habe zwar noch eine einfach zu realisierende Alternative (Datei mit Klartext-Passwort in einem ecryptfs-verschlüsselten Ordner auf einem Server),
aber wenn es das Keyfile schon gibt, dann möchte ich dieses auch gern verwenden. :)

Hat jemand noch eine Idee?
 
Zuletzt bearbeitet:

b666m

Benutzer
Mitglied seit
01. Jan 2014
Beiträge
4
Punkte für Reaktionen
0
Punkte
0
Lösung gefunden

So...
Habe inzwischen eine nette englischsprachige Antwort vom Synology-Support bekommen, welcher meinte, dass sie ihre Terminal-Tools nicht supporten.
Dann wurde mir noch eine ellenlange Lösung darunter beschrieben, wie ich das Ganze mit meinem Klartext-Passwort lösen kann.
(Das hätte ich mit dem synoshare-Wrapper auch mit einer Zeile geschafft - ich glaube, die kennen sich selbst nicht damit aus.)

Aber:
Ich habe dennoch mein Problem gelöst.
Kann jetzt aus dem Keyfile das Klartext-Passwort generieren lassen und damit dann das share via synoshare-Wrapper mounten.
Die Lösung darf ich hier aber wohl nicht posten, da sich sonst die Synology-Jungs auf die Füße getreten fühlen dürften.
(Wenn man ein bisschen überlegt, ist die Lösung (bzw. das fehlende Puzzelstück) innerhalb weniger Minuten gefunden - und hat bei mir für einen kleinen Schmunzler gesorgt.)

Meine Implementierung sieht nun folgendermaßen aus:
1. Eigene Fritzbox per VPN mit einer anderen Fritzbox verbinden.
2. Auf der anderen Fritzbox auf einen angeschlossenen Stick das Keyfile speichern und diesen Stick dann auf der Diskstation mounten lassen.
3. Per Script beim Hochfahren mit Hilfe des Keyfiles das Passwort generieren und per synoshare-Wrapper das entsprechende share mounten.

Sollte also meine Diskstation mal abhanden kommen, so ist das Keyfile an einem fremden, sicheren Ort - und nirgendwo eine Spur eines Entschlüsselungs-Passwortes zu sehen. :)

Gruß,
b666m
 

tomdue

Benutzer
Mitglied seit
26. Apr 2014
Beiträge
4
Punkte für Reaktionen
0
Punkte
0
Hallo b666m
Ich habe leider nach dem Upgrade auf DSM 5 einen verschlüsselten Share verloren (dieser war auf Automount gestellt, ein anderer verschlüsselter Share ohne Automount funktioniert noch). Ich kann diesen (ersten) nun nicht mehr mounten (The operation failed...) und habe das Passwort vergessen. Dafür habe ich noch das Keyfile ;-)
Kannst Du mir nicht bitte sagen, wie ich aus dem Keyfile das Passwort generieren kann? Denn dann kann ich mir einen neuen verschlüsselten Share mit demselben Passwort generieren, die Files kopieren und ich hätte wieder Zugriff...

Besten Dank und Gruss
Tom
 
Zuletzt bearbeitet:

shorty707

Benutzer
Mitglied seit
29. Sep 2014
Beiträge
3
Punkte für Reaktionen
0
Punkte
0
hi b666m

kannst du mir sagen (gerne auch per PM) wie das skript aussieht um aus dem keyfile das klartext pw zu bekommen`?

Danke :)
 

drati

Benutzer
Mitglied seit
23. Dez 2013
Beiträge
3
Punkte für Reaktionen
0
Punkte
0
hab jetzt lange nach so einer Lösung gesucht, bisher aber nix gefunden. b666m, kannst Du mir Dein Script evtl. per pn schicken? Oder weiß sonst noch jemand ne Lösung, wie man einen verschlüsselten Ordner sicher automounten kann? Danke!!
 

shorty707

Benutzer
Mitglied seit
29. Sep 2014
Beiträge
3
Punkte für Reaktionen
0
Punkte
0
Ohne keyfile aber automatisch per Skript mit dem Passwort auf USB stick kann ich dir verraten


D.h wenn man bootet und der USB stick ist dran wird entschlüsselt ... Ohne USB stick beim booten bleibts verschlüsselt.
Bei Interesse melden
 

drati

Benutzer
Mitglied seit
23. Dez 2013
Beiträge
3
Punkte für Reaktionen
0
Punkte
0
Hey shorty! Dank Dir! Die Methode hab ich schon ausprobiert und funktioniert auch gut. Allerdings stört mich da, dass das Passwort dann klar auf dem USB-Stick abgelegt ist. Und ich will die shares auch von unterwegs mit meinem Mac mounten können.
 

bvrulez

Benutzer
Mitglied seit
19. Feb 2014
Beiträge
292
Punkte für Reaktionen
0
Punkte
0
Hallo b666m,

ich habe mein Passwort verlegt und bisher immer die .key importiert, um Ordner einzuhängen. Nun möchte ich das automatische Einhängen nutzen und brauche dafür das PW. Ist es möglich, dass du mir die Vorgehensweise per PN mitteilst? Andererseits wäre es auch sehr interessant zu erfahren, wie Du die Prozesse geloggt hast. So könnte ich es ja selbst rausfinden. Wobei ich nicht ganz verstehe, wieso das PW aus dem plaintext dann bei dir nicht funktioniert hat.

Viele Grüße,
Ben
 

PsychoHH

Benutzer
Mitglied seit
03. Jul 2013
Beiträge
2.967
Punkte für Reaktionen
4
Punkte
78
Ich habe mit b666m mal geschrieben und er war sehr nett und hat mir ein bisschen geholfen.
Das Script auf der FB hat er leider nicht mehr, aber er konnte mir noch erklären wie man an den Synology passphrase kommt.

Im Grunde ist das echt ganz einfach und man muss beim mounten per key nur die Prozesse per Terminal aufrufen.

Ich habe es gerade ausprobiert und konnte innerhalb von Sekunden den Key auslesen und habe das Passwort ausgelesen.
Falls also jemand damit Probleme hat, kann er sich gerne melden.



Jetzt hört meine Scripterfahrung aber auf.


Ich überlege ob ich meine jetzige DS doch noch behalte und an einem anderen Ort aufstelle die immer eine Internetverbindung hat aufstelle.
Wenn ich meine neue DS habe, soll diese von der entfernten DS (USB Stick) Die Key laden und die verschlüsselten Ordner mounten.

Kann mir einer verraten wie ich die Key Datei auf die andere DS übertragen kann und nach dem auslesen und mounten löschen kann?
Oder kann ich auf der entfernen DS die Key auslesen den Wert als Variable speichern, übertragen und dort nutzen? Am besten soll die Variable dann überschrieben werden.

Krieg ich das problemlos per SSH hin?


Eventuell hat ja eine ne Idee wie ich so ein Script hinbekomme.


Das beste wäre dann ja beim Hochfahren.

NAS 1 startet Script auf NAS 2 "USB gemountet? Wenn ja, dann Key auslesen als Variable speichern und zu NAS 1 übertragen"
Auf NAS 1 wird jetzt ein Script gestartet, die übertragene Variable wird verwenden, mountet die verschlüsselten Ordner und löscht die Variablen.


Wenn ich z.B. folgendes Script auf der DS ausführe kriege ich das PW ausgegeben

#!/bin/bash

/usr/syno/sbin/ecryptfs-unwrap-passphrase /volumeUSB1/Share.key "passphrase"


Dann könnte ich doch theoretisch von NAS 1 direkt folgendes Script starten und den Wert direkt als Variable speichern oder?

#!/bin/bash

/usr/syno/sbin/ecryptfs-unwrap-passphrase root@NAS2:/volumeUSB1/Share.key "passphrase"

Nur wie kriege ich den Wert als Variable gespeichert?

Vielleicht hat einer ja noch eine Idee
 

sc0pe3d

Benutzer
Mitglied seit
06. Mai 2016
Beiträge
1
Punkte für Reaktionen
0
Punkte
0
@PsychoHH könntest du dich mal bei mir melden? Ich bräuchte kurz Hilfe bei der passphrase.

vielen Dank!
 

EuglLEv

Benutzer
Mitglied seit
04. Jun 2016
Beiträge
11
Punkte für Reaktionen
0
Punkte
1
Genau das gleiche Problem habe ich momentan auch. Schade, dass man synoshare nicht das Key-File als Argument mitgeben kann.

@PsychoHH wäre klasse, wenn Du auch mir sagen könntest, wie man aus dem Keyfile das Passwort auslesen kann, um synoshare zu verwenden. Alternative wäre mount.ecryptfs + Keyfile, wenn wir wüssten, wie danach auch die DSM Oberfläche aktualisiert werden kann. Danke!
 

PsychoHH

Benutzer
Mitglied seit
03. Jul 2013
Beiträge
2.967
Punkte für Reaktionen
4
Punkte
78
Wenn ihr euch schon extra anmeldet müsst ihr auch pn aktivieren, sonst kann ich euch das nicht schicken :)
 

dil88

Benutzer
Contributor
Sehr erfahren
Mitglied seit
03. Sep 2012
Beiträge
30.703
Punkte für Reaktionen
2.113
Punkte
829
Kann sein, dass dafür zwei Posts erforderlich sind.
 

EuglLEv

Benutzer
Mitglied seit
04. Jun 2016
Beiträge
11
Punkte für Reaktionen
0
Punkte
1
Danke für den Hinweis, das scheint noch nicht aktiviert zu sein, da keine Berechtigung.

Was spricht gegen eine Anleitung als Post hier im Thema? Es handelt sich doch um einen legitimen Workaround für ein noch nicht vorhandenes Feature.
 

PsychoHH

Benutzer
Mitglied seit
03. Jul 2013
Beiträge
2.967
Punkte für Reaktionen
4
Punkte
78
Alles zu seiner Zeit :)
 

MiVo

Benutzer
Mitglied seit
18. Jan 2018
Beiträge
2
Punkte für Reaktionen
0
Punkte
0
Hallo PsychoHH,

ich muss leider auch mein Passwort aud dem Keyfile auslesen.
Kannst Du mich hierbei bitte unterstützen?

Danke!

Gruß, Michael.
 

TimoH

Benutzer
Mitglied seit
18. Mai 2017
Beiträge
2
Punkte für Reaktionen
0
Punkte
1
Hallo PsychoHH,

mich würde auch interessieren, wie die Methode funktioniert, sofen das noch geht.

Kannst Du mir bitte auch die Anleitung zukommen lassen?

Vielen Dank!
 

steve02

Benutzer
Mitglied seit
31. Jan 2013
Beiträge
16
Punkte für Reaktionen
0
Punkte
0
Hi, ich reihe mich hier mal ein - ich bräuchte auch Hilfe das Passwort aus dem Keyfile auszulesen. Kann mir jemand weiterhelfen? Was muss ich als Passphrase angeben bei ecryptfs-unwrap-passphrase?
 


 

Kaffeautomat

Wenn du das Forum hilfreich findest oder uns unterstützen möchtest, dann gib uns doch einfach einen Kaffee aus.

Als Dankeschön schalten wir deinen Account werbefrei.

:coffee:

Hier gehts zum Kaffeeautomat