Sie müssen die Unix-Philosophie auf diese Aufgabe anwenden: ein Werkzeug für jede Aufgabe.
Teern und Komprimieren ist ein Job für tar
und gzip
oder bzip2
, Krypto ist ein Job für entweder gpg
oder openssl
:
Verschlüsseln
% tar cz folder_to_encrypt | \
openssl enc -aes-256-cbc -e > out.tar.gz.enc
Entschlüsseln
% openssl enc -aes-256-cbc -d -in out.tar.gz.enc | tar xz
Oder mit gpg
% gpg --encrypt out.tar.gz
die openssl-variante verwendet eine symmetrische verschlüsselung, sie müssten dem empfänger das verwendete 'passwort' (auch 'der schlüssel' genannt) mitteilen. Die GPG-Variante verwendet eine Kombination aus symmetrischer und asymmetrischer Verschlüsselung. Sie verwenden den Schlüssel des Empfängers (dh, Sie müssen niemandem ein Kennwort mitteilen), um einen Sitzungsschlüssel zu erstellen und den Inhalt mit diesem Schlüssel zu verschlüsseln.
Wenn Sie die zip-Route (oder 7z-Route) wählen, die im Wesentlichen mit der openssl-Variante identisch ist, müssen Sie dem Empfänger das Passwort mitteilen.
openssl aes-256-cbc -d -in out.tar.gz.enc -out decrypted.tar.gz
openssl enc -aes-256-cbc -e -in foo.tar.gz -out bar.tar.gz.enc
Wenn Sie nur Dateien mit einem Kennwort schützen möchten, verwenden Sie das Dienstprogramm hand zip über die Befehlszeile
-e fordert das zip-Dienstprogramm auf, die in genannten Dateien zu verschlüsseln
Arbeitsbeispiel:
quelle
Hier sind einige Möglichkeiten, dies zu tun. Wenn Sie separate Komprimierungs- und Verschlüsselungstools verwenden, sollten Sie diese immer vor der Verschlüsselung komprimieren, da verschlüsselte Daten im Wesentlichen nicht komprimierbar sind.
Diese Beispiele komprimieren und verschlüsseln eine aufgerufene Datei
clear_text
.Verwenden
gpg
gpg komprimiert die Eingabedatei vor der Verschlüsselung standardmäßig. Dies
-c
bedeutet, dass eine symmetrische Verschlüsselung mit einem Kennwort verwendet wird. Die Ausgabedatei wirdclear_text.gpg
. Ein Vorteil der Verwendunggpg
ist, dass Standard-OpenPGP-Formate verwendet werden, sodass jede Verschlüsselungssoftware, die OpenPGP unterstützt, diese entschlüsseln kann.Verwenden
mcrypt
Die
-z
Option wird komprimiert. Standardmäßig wird eine Datei mit dem Namen ausgegebenclear_text.gz.nc
.Verwenden
bcrypt
bcrypt wird vor dem Verschlüsseln komprimiert. Die
-r
Option ist, dass die Eingabedatei dabei nicht gelöscht wird. Die Ausgabedatei wirdclear_text.bfe
standardmäßig aufgerufen .Verwenden von
gzip
undaespipe
aespipe ist, wie es sich anhört, ein Programm, das Eingaben über stdin entgegennimmt und verschlüsselte Daten über stdout ausgibt. Die Komprimierung wird nicht unterstützt, daher können Sie die Eingabe zuerst über gzip weiterleiten. Da die Ausgabe auf stdout geht, müssen Sie sie in eine Datei mit einem Namen Ihrer Wahl umleiten. Wahrscheinlich nicht der effektivste Weg, das zu tun, was Sie verlangen, aber aespipe ist ein vielseitiges Werkzeug, und ich dachte, es wäre erwähnenswert.
quelle
Sie können 7zip verwenden, um Ihr passwortgeschütztes Archiv zu erstellen. Sie können das Kennwort auf folgende Weise in der Befehlszeile (oder in einem Skript) angeben:
7z a -p<password> <someprotectedfile>.7z file1.txt file2.txt
7zip kann auch wie folgt aus STDIN lesen:
cat <somefile> | 7z a -si -p<password> <someprotectedfile>.7z
Wenn die Verwendung von ZIP-Dateien obligatorisch ist, möchten Sie möglicherweise mit dem
-t<type>
Parameter (z-tzip
. B. ) herumspielen .quelle
Weder tar, gzip noch bzip2 unterstützen den Passwortschutz. Verwenden Sie entweder ein entsprechendes Komprimierungsformat wie zip oder verschlüsseln Sie es mit einem anderen Tool wie GnuPG.
quelle
-r
.Erstellen mit:
Sie werden nach einem Passwort gefragt.
Entschlüsseln mit:
quelle