Benno, das ist nicht richtig sondern es kommt auf das Programm an, mit dem der Container erstellt und geöffnet wird. itoss, ich habe dich so verstanden, dass du für die Container luks verwendest, also Beispielsweise nach dieser Anleitung.
Hierdurch muss auf dem Server nie das Passwort eingegeben werden, die Datei ist nie auf dem Server entschlüsselt vorhanden und die Datei wird nie auf die Festplatte des Clients geschrieben.
Das ganze funktioniert dann ungefähr so:
Auf dem Server wird ein neuer Ordner angelegt und in diesem eine große leere Datei angelegt:
cd
mkdir test
cd test/
dd if=/dev/null of=container_file bs=1M count=500
In diesem Beispiel ist die Datei 500MB groß.
Als nächstes wird der erstellte Ordner auf dem Client mittels sshfs eingebunden. Hierbei muss die Option allow_root gesetzt werden. Anderenfalls kann root nicht auf die Dateien zugreifen, daher, Befehle mit sudo funktionierten ansonsten nicht.
mkdir test
sshfs -o allow_root USER@SERVER:test test/
Auf dem Client befindet sich nun der Ordner test in dem die 500MB große Datei zu sehen ist. Sie wurde nicht auf den Client kopiert.
Im nächsten Schritt wird die Datei als Loop-Device eingebunden, hieraus ein Cryptocontainer erstellt und dieser mit ext4 formatiert. (Entsprechend der oben verlinkten Anleitung.)
sudo losetup -f
sudo losetup /dev/loop0 container_file # /dev/loop0 muss gegebenenfalls durch ein anderes freies Device ersetzt werden.
sudo cryptsetup -c aes-xts-plain -y -s 512 luksFormat /dev/loop0
sudo cryptsetup luksOpen /dev/loop0 container
sudo mkfs.ext4 /dev/mapper/container
sudo mount -t ext4 /dev/mapper/container /mnt
sudo chmod a+w /mnt/
Nun können Dateien in das Verzeichnis /mnt geschrieben werden. Sie landen verschlüsselt im Container auf dem Server. Sie berühren nie die Festplatte des Clients. Sie werden auf dem Client verschlüsselt, selbst ein kompromittierter Server bekommt die Daten nie im Klartext zu gesicht.
echo "hallo welt" > /mnt/datei1
Bei Mehrfachzugriffen wissen die einzelnen Rechner nicht, dass das Dateisystem bereits auf einem anderen Computer eingebunden ist. Möglicherweise geht es gut, viel wahrscheinlicher ist jedoch, dass das Dateisystem kaputt geht und somit alle Daten weg sind.
Wer gerne Bash-Scripte ließt kann das ganze auch hier als fertiges Script nachlesen: https://github.com/fw42/sshluks