Ich versuche, eine TAR-Datei mit einem in einer Datei gespeicherten Kennwort zu verschlüsseln: ~/Documents/Secret/.secret
mit dem folgenden Befehl:
cat ~/Documents/Secret/.secret | gpg -c --passphrase-fd 0 ~/backup.tar
Jetzt erwarte ich in der Ausgabe diese Datei:, ~/backup.tar.gpg
aber es wird nichts ausgegeben.
Ich erhalte diese Fehlermeldung. Kann mir jemand helfen? Ich bin wirklich ratlos:
gpg: problem with the agent: ioctl non appropriata per il device
gpg: error creating passphrase: Operazione annullata
gpg: symmetric encryption of '/home/pi/backup.tar' failed: Operazione annullata
Ich versuche, diese Datei auf meinem Raspberry Pi 3 mit Raspian 9 (Stretch) zu verschlüsseln.
Antwort1
Der richtige Befehl zum Verschlüsseln einer Datei mit einer in einer Datei gespeicherten Passphrase lautet:
gpg -c --batch --yes --passphrase-file ~/Documents/Secret/.secret --output ~/backup.tar.gpg ~/backup.tar
Wo:
-c
Verschlüsseln Sie die Datei--batch
Ist das, was ich gesucht habe: Ermöglichte mir, den Verschlüsselungsprozess in einem Skript auszuführen--yes
Viele Meldungen bei Nachfragen bestätigen (zB: „Wollen Sie überschreiben?“)--passphrase-file myKey
Gibt an, wo der Schlüssel gespeichert ist--output
cryptedFile.gpg` Gibt den Ausgabenamen an
Antwort2
Sie sollten diese Option wahrscheinlich wirklich nutzen --pinentry-mode loopback
, da sie Passphrasen in Dateien und Pipes (Dateideskriptoren) zulässt.
Die Befehle --batch
und --yes
schränken Ihre Optionen stark ein und bringen Risiken mit sich, nicht zuletzt das Überschreiben vorhandener Dateien. --output
wäre dann auch nicht nötig, da neue Dateien automatisch die .gpg
Erweiterung erhalten.
(Meiner Meinung nach sind beides nur Workarounds für Fehler, die durch Programme mit erzwungener PIN-Eingabe verursacht werden).