Ich habe bereits den privaten Schlüssel, mit dem die Datei verschlüsselt wurde, bin mir aber nicht sicher, wie ich ihn angeben kann.
Ich verstehe dies als "Ich habe eine Datei mit dem privaten Schlüssel, weiß aber nicht, wie ich GnuPG sagen soll, dass es ihn verwenden soll".
GnuPG erfordert, dass Schlüssel (sowohl öffentliche als auch private) im GnuPG-Schlüsselbund gespeichert werden. Das ist so einfach wie
gpg --import [keyfile]
Danach sollten Sie in der Lage sein, die Datei genau so zu entschlüsseln, wie Sie es bereits versucht haben.
bash-4.2$ gpg --import b_secret.key
gpg: key 23E7859B: already in secret keyring
gpg: Total number processed: 1
gpg: secret keys read: 1
gpg: secret keys unchanged: 1
bash-4.2$ gpg --decrypt b_txt.asc
gpg: key 23E7859B: secret key without public key - skipped
gpg: encrypted with RSA key, ID 04702E37
gpg: decryption failed: secret key not available
Sie müssen den geheimen Schlüssel nicht ausdrücklich im Befehl gpg decrypt deklarieren. Wenn das Schlüsselpaar sowohl öffentlich UND Private Schlüssel – wie Jens sagt, sind sie auf dem Schlüsselbund auf dem Host vorhanden, auf dem Sie entschlüsseln, GPG bestimmt automatisch den geheimen Schlüssel, der für die Entschlüsselung erforderlich ist, und präsentiert eine Passwortabfrage.
JEDOCH wenn Sie alle (nicht zwischengespeicherten) Schlüssel ausprobieren möchten (vielleicht testen Sie eine Datei, die mit mehreren Schlüsseln verschlüsselt ist ), mit dem Schalter --try-all-secrets
wird alle geheimen Schlüssel auf Ihrem Schlüsselbund durchlaufen und sie der Reihe nach ausprobieren. dh:
gpg -d --try-all-secrets test-gpg.txt.asc
HTH-Terrence