it-swarm.com.de

Wie kann ich gzip-Dateien auf der Kommandozeile mit einem Passwort schützen?

Ich möchte mit dem Befehl tar unter Ubuntu 10.04 einige tar.gz- (und möglicherweise tar.bz2-) Dateien erstellen.

Ich möchte die Datei mit einem Passwort schützen.

Was ist der Befehl, um dies zu tun (Ich habe gegoogelt, aber nichts gefunden, das zeigt, wie man komprimierte Dateien mit einem Passwort erstellt und extrahiert).

Weiß jemand, wie das geht?

125
morpheous

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 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: Im Wesentlichen entspricht dies der openssl-Variante. Sie müssen dem Empfänger das Passwort mitteilen.

152
akira

Wenn Sie nur Dateien mit einem Kennwort schützen möchten, verwenden Sie das Dienstprogramm hand Zip über die Befehlszeile

Zip -e <file_name>.Zip <list_of_files>

-e fordert das Zip-Dienstprogramm auf, die in genannten Dateien zu verschlüsseln

Arbeitsbeispiel:

$ touch file_{0,1}.txt # creates blank files file_0 & file_1    
$ Zip -e file.Zip file_* # ask Zip to encrypt
$ ENTER PASSWORD:
$ VERIFY PASSWORD:
$ ls file*
28
Antony Thomas

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.

In diesen Beispielen wird eine Datei mit dem Namen clear_text komprimiert und verschlüsselt.

gpg verwenden

$ gpg -c clear_text #Compress & Encrypt
$ gpg -d clear_text.gpg #Decrypt & Decompress

gpg komprimiert die Eingabedatei standardmäßig vor der Verschlüsselung. -c bedeutet, dass eine symmetrische Verschlüsselung mit einem Kennwort verwendet wird. Die Ausgabedatei lautet clear_text.gpg. Ein Vorteil der Verwendung von gpg ist, dass Standard-OpenPGP-Formate verwendet werden, sodass jede Verschlüsselungssoftware, die OpenPGP unterstützt, diese entschlüsseln kann.

mcrypt verwenden

$ mcrypt -z clear_text #Compress & Encrypt
$ mdecrypt -z clear_text.gz.nc #Decrypt & Decompress

Die Option -z wird komprimiert. Standardmäßig wird eine Datei mit dem Namen clear_text.gz.nc ausgegeben.

bcrypt verwenden

$ bcrypt -r clear_text #Compress & Encrypt
$ bcrypt -r clear_text.bfe #Decrypt & Decompress

bcrypt komprimiert, bevor sie durch Standard-Verschlüsselung, die -r Option ist, so dass die Eingabedatei nicht in dem Prozess gelöscht. Die Ausgabedatei heißt standardmäßig clear_text.bfe.

Verwenden von gzip und aespipe

$ cat clear_text | gzip | aespipe > clear_text.gz.aes #Compress & Encrypt
$ cat clear_text.gz.aes | aespipe -d | gunzip > clear_text #Decrypt & Decompress

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, zu tun, was Sie fragen aber aespipe ist ein vielseitiges Werkzeug, so dachte ich, es war erwähnenswert.

19
Graphics Noob

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 Parameter -t<type> (z. B. -tzip) herumspielen.

13
SaeX

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.

Erstellen mit:

tar czvf - directory | gpg --symmetric --cipher-algo aes256 -o passwordprotectedarchive.tar.gz.gpg

Sie werden nach einem Passwort gefragt.

Entschlüsseln mit:

gpg -d passwordprotectedarchive.tar.gz.gpg | tar xzvf -
3
LHolleman