le déchiffrement gpg échoue sans erreur de clé secrète

j'ai un gpg .fichier clé utilisé comme passphrase pour déchiffrer A.dat.fichier pgp. Crypté. données.pgp fichier est correctement déchiffré sur un serveur avec le même .fichier clé en utilisant la commande suivante

cat xxx_gpg.key | /usr/bin/gpg --batch --quiet -o xxx.dat --passphrase-fd O -d xxx.dat.pgp

mais, quand je déplace la même clé sur un autre serveur xxx_gpg.clé et exécuter la même commande ci-dessus, j'obtiens erreur suivant

gpg: decryption failed: No secret key

EDIT:

je trouve que gpg --list-secret-keys retourne des données sur le serveur où il fonctionne, mais aucun résultat n'est retourné pour d'autres serveur.

comment configurer la clé secrète

16
demandé sur fortm 2015-02-04 15:42:35

2 réponses

on dirait que la clé secrète n'est pas sur l'autre machine, donc même avec la phrase de passe droite (lue à partir d'un fichier) ça ne marcherait pas.

ces options devraient fonctionner, à

  • soit copier les keyrings (peut-être seulement serrure secrète nécessaire, mais l'anneau public est public de toute façon) sur l'autre machine
  • Ou à l'exportation de la clé secrète et de l'importer ensuite sur l'autre machine

quelques options de recherche utiles man gpg:

--export

Soit exporter toutes les clés de tous les keyrings (keyrings par défaut et ceux enregistrés par le biais de l'option --keyring), ou si au moins un nom est donné, ceux du nom donné. Le nouveau trousseau est écrit à STDOUT ou à le fichier avec l'option --output. Utiliser avec --armor pour mail les touches.

--export-secret-keys

Même en tant que --export, mais exporte les clés secrètes à la place.

--import

--fast-import

Importer / fusionner les clés. Cela ajoute les clés du trousseau de clés. Rapide version est simplement un synonyme.

Et peut-être

--keyring file

Ajouter un fichier à la liste actuelle des trousseaux de clés. Si le fichier commence par un tilde et un slash, ils sont remplacés par le répertoire $HOME. Si le fichier‐ nom ne contient pas de barre oblique, il est supposé être dans la maison GnuPG répertoire./~"( gnupg " if --homedir ou $GNUPGHOME n'est pas utilisé).

notez que ceci ajoute un trousseau à la liste courante. Si l'intention est pour utiliser le porte-clés spécifié seul, utilisez --keyring et --no-default-keyring.

--secret-keyring file

Même en tant que --keyring mais pour le secret trousseau.

13
répondu Xen2050 2015-02-05 13:33:18

je viens de tomber sur ce numéro, sur le GPG CLI dans Arch Linux. J'avais besoin de tuer le processus "gpg-agent" existant, puis tout était revenu à la normale ( un nouveau gpg-agent auto-lancé; ...).

20
répondu Victoria Stuart 2017-03-16 23:52:50