Mein Betriebssystem ist Ubuntu 20.04.2 lts.
Ich erstelle ein Tar-Archiv aus dem Verzeichnis noup1, das Dateien und Unterordner enthält, mittar cf no1.tar noup1
Verschlüsseln Sie es mit gpg -c no1.tar
. Jetzt habe ich also ein no1.tar.gpg
Archiv.
Wenn ich versuche, es mit zu entschlüsseln gpg -d no1.tar.gpg
, erhalte ich im Terminal eine Menge verschnörkelter Zeichen und es funktioniert nicht.
Wenn ich nur gpg no1.tar.gpg
ohne das -d
Flag verwende, erhalte ich die Ausgabe „Es wurde kein Befehl gegeben. Ich versuche zu raten …“
gpg: WARNING: Kein Kommando angegeben. Versuche zu raten was gemeint ist ...
gpg: AES256 verschlüsselte Daten
gpg: Verschlüsselt mit einer Passphrase
und das Archiv ist nun entschlüsselt. Das funktioniert also!Aber wie und warum?
Wenn ich andererseits das -d
Flag verwende und das Ergebnis in Tar weiterleite, ist es erfolgreich!
gpg -d no1.tar.gpg | tar xf -
So erstellen Sie komprimierte verschlüsselte Archive mit Tar und GPG
Daher frage ich mich:
Was ist der "erratener Befehl" das hingerichtet wurde?
Warum funktioniert das -d
Flag nicht, aber es funktioniert, wenn es in Tar weitergeleitet wird, obwohl in allen relevanten Tutorials die Verwendung von gpg -d <archive-name>
und nicht von zum Entschlüsseln eines Tar-Archivs empfohlen wird gpg <archive-name>
?
Ist es möglich, dass mir einige Pakete fehlen oder dass etwas mit meiner GPG-Konfiguration nicht stimmt?
Antwort1
promanpagesfür gpg,
-D
Entschlüsseln Sie die in der Befehlszeile angegebene Datei (oder STDIN, wenn keine Datei angegeben ist) und schreiben Sie sie in STDOUT (oder in die mit --output angegebene Datei). Wenn die entschlüsselte Datei signiert ist, wird auch die Signatur überprüft. Dieser Befehl unterscheidet sich vom Standardvorgang, da er nie in den in der Datei enthaltenen Dateinamen schreibt und Dateien ablehnt, die nicht mit einer verschlüsselten Nachricht beginnen.
also hat -d einwandfrei funktioniert, aber die Datei wurde in die Standardausgabe (STDOUT) entschlüsselt, weshalb Sie eine Menge Junk-Ausgabe gesehen haben. Das sind die codierten Daten für Ihre TAR-Datei, also ist es keine Überraschung, dass es sich um Kauderwelsch handelt.
Wenn Sie die Entschlüsselung in eine Datei statt in Ihren Shell-Ausgabestream wünschen, verwenden Sie eine --output <filename>
Datei oder leiten Sie die Ausgabe in eine Datei um.
Ich glaube (ich kann kein Deutsch lesen), dass, als Sie den Befehl auf die Datei ausgeführt haben, vermutlich das Äquivalent von
gpg -d no1.tar.gpg --output no1.tar