Entschlüsseln von Tar-Archiven mit gpg -d, das Flag -d funktioniert nicht

Entschlüsseln von Tar-Archiven mit gpg -d, das Flag -d funktioniert nicht

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.gpgArchiv.

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.gpgohne das -dFlag 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 -dFlag 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 -dFlag 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

verwandte Informationen