Eu também tenho esse problema e resolvi adicionando configuração ao gpg-agent, você pode encontrá-lo aqui:
Estou procurando armazenar senhas em cache para uso em uma máquina autônoma. Como isso representa algum risco, prefiro escolher quais frases secretas serão armazenadas em cache e evitar definir default-cache-ttl
e max-cache-ttl
para valores altos demais, além de evitar a necessidade de limpar o cache inteiro de gpg-agent
periodicamente - por isso eu estou procurando uma solução com gpg-preset-passphrase
. Algumas das informações que encontrei durante a solução de problemas se referem a versões mais antigas do GnuPG, por isso não tenho certeza se as diferenças foram suficientes.
Primeiro, conforme prescrito por man 1 gpg-agent
, tenho export GPG_TTY=$(tty)
em meu .bashrc.
Agora, suponha que eu execute eval $(gpg-agent --daemon --allow-preset-passphrase --default-cache-ttl 1 --max-cache-ttl 31536000)
para iniciar o gpg-agent, observando que gpg-preset-passphrase ainda honors --max-cache-ttl (padrão 2 horas).
Eu então obtenho o keygrip $KEYGRIP
da subchave secreta desejada com gpg --with-keygrip -K
.
Com isso, tento /path/to/gpg-preset-passphrase -c $KEYGRIP
. Ao atingir o retorno, isso imprime:
gpg-preset-passphrase: caching passphrase failed: Not implemented
Ao tentar adicionar novamente --verbose --debug 6 --log-file /path/to/gpg-agent.log
a gpg-agent
, meu log é anexado com
gpg-agent[4206] listening on socket /run/user/1000/gnupg/S.gpg-agent
gpg-agent[4207] gpg-agent (GnuPG) 2.1.15 started
gpg-agent[4207] handler 0x7f86ef783700 for fd 5 started
gpg-agent[4207] command PRESET_PASSPHRASE failed: Not implemented
gpg-agent[4207] handler 0x7f86ef783700 for fd 5 terminated
Não sei ao certo para onde ir além de mergulhar mais fundo na fonte, por isso estou pensando se alguém pode primeiro corrigir os passos que estou tomando.
Eu também tenho esse problema e resolvi adicionando configuração ao gpg-agent, você pode encontrá-lo aqui: