Eu tento adicionar senhas ao gerenciador de senhas "pass". Mas minhas tentativas falham com erros GPG "sem chave pública". Por quê?

27

Estou tentando instalar o Pass: o gerenciador de senhas padrão do Unix , no entanto, quando tento adicionar senhas ao aplicativo, recebo esses erros

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

Chaves públicas de GPG?

Quando digito o comando gpg --list-keys, recebo:

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

Estou um pouco perdido de como remediar isso, alguma idéia?

Kelly Hays
fonte

Respostas:

28

Como você criou o armazenamento de senhas? pass init "Kelly's Passwords"? Nesse caso, está errado, você deveria ter ligado pass init 64290B2D.

E se então pass insert foofalhará com:

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

então você tem que confiar em sua própria chave primeiro ( gpg --edit-key 64290B2D, trust, 5, save).

zhenech
fonte
Vou apenas acrescentar para aqueles que foram um passo atrás como eu, você deve primeiro o init chave gpg comgpg --generate-key
ItayB
2
@ItayB o comando para gerar uma chave gpg é realmente gpg --gen-key(em gpg 1.4.20)
Rubanov
Em um caso, usar gpg(versão 1.4.20) no Xubuntu, sempre leva a falhas (gerando senhas via pass). O uso gpg2(versão 2.1.11) fez tudo funcionar bem.
Nikos Alexandris
A 'chave', por exemplo, 64290B2D, é o que você usou para identificar a chave, no meu caso, um endereço de e-mail, revelado como útilgpg -k
John Mee
5

Com as mesmas indicações, se alguém se deparar com esse problema, a solução pode ser um pouco diferente. Você passestá usando, em gpg2vez de gpg, você pode ter usado para gerar / gerenciar suas chaves (ou vice-versa). Verifique com:

bash -x $(which pass) insert foo
Michal Ingeli
fonte
2
WTF!? Why are both gpg and gpg2 installed on a fresh system? Why neither the pass manpage nor its website care to mention how to create the !@#&% damned gpg key???
Tobia
2
Em um caso já gerou um com GPG 1 - você pode importá-lo para GPG 2 assim:gpg2 --import ~/.gnupg/secring.gpg
maxschlepzig
2

Eu recebi o mesmo erro por enquanto, executar o bash na depuração está ajudando. (bash -x), percebi que o passe havia listado uma chave gpg inexistente em .password-store / .gpg-id

Antoine Claval
fonte
1

Eu recebi o mesmo erro, mas verificar com gpg2 --list-keysme dá

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

Então, minha solução é

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

Consulte https://unix.stackexchange.com/a/177310/14315

Se você precisar renovar subchaves, use o seguinte:

> 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

Torsten
fonte