Ich habe eine verschlüsselte externe Festplatte auf einem Linux-Server.
Auf dem Server kann ich dies zum Entschlüsseln lokal tun
cryptsetup -d keyfile luksOpen /dev/sdx1 /mnt/decrypted
, aber ich möchte es lieber vermeiden, dies auf der Serverseite zu tun.
Ich möchte auf den Server zugreifen (über SSH/SSHFS) und die Daten nur remote auf meinem Client-Computer entschlüsseln.
Um auf die Daten aus der Ferne zuzugreifen und sie zu entschlüsseln, muss ich
- mounten Sie die verschlüsselte Datei
/dev/sdx1
lokal auf dem Server (ohne sie zu entschlüsseln!!) um/mnt/encrypted
/mnt/encrypted
per SSHFS auf einem Client-Rechner mounten (dannluksOpen
zum Entschlüsseln verwenden)
Wie kann ich Schritt 1 durchführen, ohne Daten zu entschlüsseln?
Danke, Chris
PS: Vielleicht sollte ich einfach einen verschlüsselten Container (eine Datei im Dateisystem des Servers) und nicht eine ganze Partition verwenden? Auf diese Weise könnte ich den Ordner mit dem verschlüsselten Container/der verschlüsselten Datei remote über SSHFS mounten? (und ihn erst auf dem Client-Rechner entschlüsseln)
Antwort1
Dies ist mit Ihrer aktuellen Konfiguration nicht zu erreichen.
Der einzige "richtige" Weg, dies zu tun, ist, die Lautstärke Ihres Luks auf eineNetzwerkblockgerät.
Sie können drbd
oder verwenden iscsi
, um auf das Blockgerät auf Ihrem Server zuzugreifen und dann Luks darauf einzurichten.
Antwort2
Ich kann Luks remote mounten und entschlüsseln (über sshfs
), wenn ich einen Luks-Container (und keine Luks-Partition) zum Speichern der verschlüsselten Daten verwende.
Ich musste nur einen Luks-Container erstellen (eine Datei, die intern das verschlüsselte Dateisystem enthält). Diese Datei ist eine normale Datei auf einer gemounteten Partition, sodass sie remote gemountet sshfs
und später entschlüsselt werden kann (über Loop-Gerät -> Mapper-Gerät -> Mount).
Ich habe dies getestet und kann bestätigen, dass es funktioniert.