gpg com gpg-agent nunca pede passphrase

15

Sem o gpg-agent em execução, posso inserir minha senha para assinar as coisas:

$ echo 123 | gpg -s

You need a passphrase to unlock the secret key for
user: "Mr. Ops <[email protected]>"
2048-bit RSA key, ID 20F31903, created 2014-03-13

gpg: gpg-agent is not available in this session
Enter passphrase:

Funciona bem. Mas eu não quero digitar minha frase-senha o tempo todo, então eu corro gpg-agent:

$  eval $(gpg-agent --daemon)

Agora, esperamos receber a minha senha pelo menos uma vez, mas nunca sou, e todas as operações que usam o gpg falham.

$ echo 123 | gpg -s

You need a passphrase to unlock the secret key for
user: "Mr. Ops <[email protected]>"
2048-bit RSA key, ID 20F31903, created 2014-03-13

gpg: cancelled by user
gpg: no default secret key: bad passphrase
gpg: signing failed: bad passphrase

Como faço para que minha frase secreta seja armazenada no agente? Depois de tê-lo lá, como mantê-lo lá através de sessões de login? (O ideal é que eu nunca mais queira ser avisado novamente.) Isso é no Ubuntu 12.04.4 com os pacotes gtp apt-get padrão, caso isso seja importante.

    
por jsd 08.04.2014 / 19:10

2 respostas

16

Isso acontece quando gpg-agent não sabe qual TTY deve ser solicitado, o que está acontecendo aqui porque você está redirecionando stdin.

Você pode colocar export GPG_TTY=$(tty) no seu ~/.bashrc para configurar o TTY para cada shell de login.

Os documentos sobre gpg-agent têm mais detalhes.

    
por 08.07.2014 / 20:43
6

Meio atrasado, mas neste momento enfrento esse problema quando faço login remoto no meu PC (Linux-Centos) e tento descriptografar um arquivo PGP. Eu tentei a sugestão de dave, sem sorte, googling eu achei isso

gpg: cancelado pelo usuário

Esta parte resolve o meu problema:

Finally after allowing other's to r+w on tty seem to solve this issue

[root@host ~]# chmod o+rw $(tty)

Espero que isso possa ajudar outra pessoa.

BR.

    
por 17.12.2015 / 03:05

Tags