Provo ad aggiungere password al gestore password "pass". Ma i miei tentativi falliscono con errori GPG "senza chiave pubblica". Perché?


27

Sto cercando di installare Pass: il gestore di password Unix standard , tuttavia, quando provo ad aggiungere password all'applicazione ottengo questi errori

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

Chiavi pubbliche GPG?

Quando digito il comando gpg --list-keysottengo:

/home/khays/.gnupg/pubring.gpg
------------------------------
pub   2048R/64290B2D 2012-11-05
uid                  Kelly Hays <hays.kelly@gmail.com>
sub   2048R/0DF57DA8 2012-11-05

Sono un po 'perso di come rimediare a questo, qualche idea?

Risposte:


28

Come hai creato l'archivio password? pass init "Kelly's Passwords"? Se è così, questo è sbagliato, avresti dovuto chiamare pass init 64290B2D.

E se poi pass insert foofallirà con:

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

allora devi fidarti prima la vostra chiave ( gpg --edit-key 64290B2D, trust, 5, save).


Aggiungerò solo per quelli che erano un passo indietro come me, dovresti prima gpg --generate-key
avviare la

2
@ItayB il comando per generare una chiave gpg è effettivamente gpg --gen-key(in gpg 1.4.20)
Rubanov

In un caso, l'utilizzo gpg(versione 1.4.20) in Xubuntu, porta sempre a errori (generazione di password tramite pass). Utilizzando gpg2(versione 2.1.11) tutto ha funzionato bene.
Nikos Alexandris

La 'chiave', ad es. 64290B2D, è qualunque cosa tu abbia usato per identificare la chiave, nel mio caso essendo un indirizzo e-mail, rivelato come uid congpg -k
John Mee

5

Con le stesse indicazioni, se qualcuno si imbatte in questo problema, la soluzione potrebbe essere leggermente diversa. Stai passusando gpg2invece di gpg, potresti aver usato per generare / gestire le tue chiavi (o, viceversa). Verifica con:

bash -x $(which pass) insert foo

2
WTF !? Perché sia ​​gpg che gpg2 sono installati su un nuovo sistema? Perché né la manpage pass né il suo sito web si preoccupano di menzionare come creare la chiave gpg! @ # &% Damned ???
Tobia,

2
Nel caso in cui uno abbia già generato un con GPG 1 - puoi importarlo in GPG 2 in questo modo:gpg2 --import ~/.gnupg/secring.gpg
maxschlepzig

2

Ho avuto lo stesso errore per un po ', eseguire la bash nel debug è di aiuto. (bash -x), mi sono poi reso conto che pass aveva elencato una chiave gpg inesistente in .password-store / .gpg-id


1

Ho avuto lo stesso errore, ma il controllo con gpg2 --list-keysmi dà

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

Quindi la mia soluzione è

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

Vedi /unix//a/177310/14315

Se devi rinnovare le sottochiavi usa questo:

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

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

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.