pass e gpg: nessuna chiave pubblica


13

Sto usando il pass da parecchio tempo; ma dopo aver esportato il mio archivio chiavi e le chiavi gpg su un'altra macchina vedo il seguente output:

$ gpg --list-key
/home/shved/.gnupg/pubring.gpg
------------------------------
pub   2048R/FA829B53 2015-04-28
uid       [ultimate] Yury Shvedov (shved) <shved@lvk.cs.msu.su>
sub   2048R/74270D4A 2015-04-28

La mia chiave importata e attendibile, ma non utilizzabile:

pass insert test
Enter password for test: 
Retype password for test: 
gpg: 2048R/FA829B53: skipped: No public key
gpg: [stdin]: encryption failed: No public key
fatal: pathspec '/home/shved/.password-store/test.gpg' did not match any files

Cosa posso fare per usare di nuovo la mia chiave?

Risposte:


12

pass usa gnupg2, che non condivide il suo portachiavi con gnupg 1.x.

Importa di nuovo le tue chiavi usando gnupg2 invece di gnupg. Se hai già le tue chiavi in ​​gnupg sul computer di destinazione in esecuzione:

$ gpg --export-secret-keys > keyfile
$ gpg2 --import keyfile

Dopo l'importazione, potrebbe essere necessario aggiornare l'attendibilità sulla chiave. Dovresti visualizzare un Secret key is available.messaggio se l'importazione ha avuto esito positivo:

$ gpg2 --edit-key FA829B53
[...]
Secret key is available.

sec  rsa4096/FA829B53
     created: 2015-03-14  expires: 2017-03-13  usage: SC  
     trust: unknown      validity: ultimate
ssb  rsa4096/74270D4A
     created: 2015-03-14  expires: 2017-03-13  usage: E   
[ultimate] (1). Yury Shvedov (shved) <shved@lvk.cs.msu.su>

Ora aggiorna la fiducia sulla tua chiave:

gpg> trust
[...]
Your decision? 5
Do you really want to set this key to ultimate trust? (y/N) y
[...]
gpg> save

pass (almeno versione 1.6.3) usa gpgno gpg2. E gpg2 è solo una riprogettazione. Solo con la versione 2.1 sono avvenute alcune modifiche (combinando le chiavi pubbliche e private nel portachiavi pubblico.
Anthon,

Questo non è vero per la mia versione (1.6.5). Dal codice sorgente: 10 GPG = "gpg" 11 export GPG_TTY = "$ {GPG_TTY: - $ (tty 2> / dev / null)}" 12 che gpg2 &> / dev / null && GPG = "gpg2" 13 [ [-n $ GPG_AGENT_INFO || $ GPG == "gpg2"]] && GPG_OPTS + = ("--batch" "--use-agent") Ciò implica che 'pass' usa gpg a meno che gpg2 non sia presente sullo stesso sistema.
Łukasz Lis,

1
quindi usa gpg a meno che non sia installato gpg2 e ai fini del passaggio questi siano compatibili, altrimenti potresti avere problemi orribili se ti capita di installare gpg2 qualche tempo dopo aver iniziato a usare pass (che non dovresti in primo luogo a volte lascia i dati non crittografati nella directory di "archiviazione").
Anthon,

Innanzitutto, questo non è ciò che hai sostenuto nella tua prima risposta. In secondo luogo, non hai risposto al mio punto di non condividere un portachiavi. In terzo luogo, sono compatibili solo in quanto entrambi possono decrittografare i messaggi se viene fornita una chiave segreta adeguata.
Łukasz Lis,

7

Linea di uscita

gpg: 2048R/FA829B53: skipped: No public key

mostra passun'inizializzazione errata . Hai inizializzato passcon il comando pass init 2048R/FA829B53mentre dovresti farlo con il comando pass init FA829B53. Per risolvere il problema, è necessario modificare il contenuto del file ~/.password-store/.gpg-idda 2048R/FA829B53a FA829B53e confermare le modifiche.

PS

Tutti i consigli di @ Łukasz Lis sono corretti e anche tu dovresti completarli. In altri casi non sarai in grado di decrittografare il pass:

$ pass -c test

ti darà un errore: gpg: decryption failed: No secret key


Utile. Può capitare di (mis-) digitare pass init SomethigElseThanFirstStore.
Nikos Alexandris,

0

Ho notato questo durante la creazione di un nuovo negozio e inizializzato con un ID chiave come "2048R / FA829B53", che pensavo fosse come è stato fatto in passato, e guardando un vecchio backup, il .gpg_id è diverso.

Tuttavia, ora sembra che venga utilizzato solo FA829B53 e nelle pagine man correnti l'autore utilizza il suo indirizzo e-mail.

Controllerei il file gpg_id, per me in un nuovo negozio è solo il FA829B53 e nessun'altra linea


0

Verifica se la tua chiave attendibile è la stessa nel file ~/.password-store/.gpg-id


Questo non fornisce una risposta alla domanda. Per criticare o richiedere chiarimenti a un autore, lascia un commento sotto il suo post. - Dalla recensione
Kevdog777,

anzi ho avuto lo stesso problema, lo
risolvo
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.