J'essaie d'ajouter des mots de passe au gestionnaire de mots de passe «pass». Mais mes tentatives échouent avec des erreurs GPG «sans clé publique». Pourquoi?

27

J'essaie d'installer Pass: le gestionnaire de mots de passe Unix standard , cependant, lorsque j'essaie d'ajouter des mots de passe à l'appliation, j'obtiens ces erreurs

gpg: Kelly's Passwords: skipped: No public key
gpg: [stdin]: encryption failed: No public key

Clés publiques GPG?

Lorsque je tape la commande, gpg --list-keysj'obtiens:

/home/khays/.gnupg/pubring.gpg
------------------------------
pub   2048R/64290B2D 2012-11-05
uid                  Kelly Hays <[email protected]>
sub   2048R/0DF57DA8 2012-11-05

Je suis un peu perdu de savoir comment y remédier, des idées?

Kelly Hays
la source

Réponses:

28

Comment avez-vous créé le magasin de mots de passe? pass init "Kelly's Passwords"? Si c'est le cas, c'est faux, vous auriez dû appeler pass init 64290B2D.

Et si alors pass insert fooéchouera avec:

gpg: fooo: skipped: public key not found
gpg: [stdin]: encryption failed: public key not found

alors vous devez faire confiance à votre propre première clé ( gpg --edit-key 64290B2D, trust, 5, save).

zhenech
la source
Je vais juste ajouter pour ceux qui ont pris un peu de retard comme moi, vous devez d'abord initialiser la clé gpg avecgpg --generate-key
ItayB
2
@ItayB la commande pour générer une clé gpg est en fait gpg --gen-key(dans gpg 1.4.20)
Rubanov
Dans un cas, l'utilisation de gpg(version 1.4.20) sous Xubuntu, conduit toujours à des échecs (génération de mots de passe via pass). L'utilisation de gpg2(version 2.1.11) a tout fait fonctionner correctement.
Nikos Alexandris
La «clé», par exemple 64290B2D, est tout ce que vous avez utilisé pour identifier la clé, dans mon cas étant une adresse e-mail, révélée comme uid avecgpg -k
John Mee
5

Avec les mêmes indications, si quelqu'un tombe sur ce problème, la solution peut être un peu différente. Vous passutilisez à la gpg2place de gpg, vous auriez pu utiliser pour générer / gérer vos clés (ou vice-versa). Vérifiez avec:

bash -x $(which pass) insert foo
Michal Ingeli
la source
2
WTF !? Pourquoi gpg et gpg2 sont-ils installés sur un nouveau système? Pourquoi ni la page de manuel de pass ni son site Web ne mentionnent comment créer la clé! @ # &% Damned gpg ???
Tobia
2
Dans le cas où l'on a déjà généré un avec GPG 1 - vous pouvez l'importer dans GPG 2 comme ceci:gpg2 --import ~/.gnupg/secring.gpg
maxschlepzig
2

J'ai eu la même erreur pendant un certain temps, l'exécution de bash dans le débogage aide. (bash -x), j'ai alors réalisé que pass avait répertorié une clé gpg inexistante dans .password-store / .gpg-id

Antoine Claval
la source
1

J'ai la même erreur, mais vérifier avec gpg2 --list-keysme donne

pub   rsa4096/0x12345678 2016-11-22 [SC] [expired: 2018-11-26]

Donc ma solution est de

gpg --edit-key 0x12345678
gpg> expire
...
gpg> save

Voir /unix//a/177310/14315

Si vous devez renouveler des sous-clés, utilisez ceci:

> e.g. if the subkey whose validity you want to extend is the first listed
> subkey, or if it is the only listed subkey, then the  command would be
> Command> key 1
> this will put a * after the word sub, indicating that this particular
> subkey has been selected. then
> Command> expire
> and follow the prompts.

Source https://lists.gnupg.org/pipermail/gnupg-users/2005-June/026063.html

Torsten
la source