Usando GnuPG y su demonio gpg-agent

9

Estoy usando gpg-agentpara recordar y proporcionar mi GnuPGcontraseña al crear Debian/Ubuntupaquetes. Pero todavía estoy confundido sobre cómo gpg-agentfunciona. Invoco gpg-agentcomo:

eval $(gpg-agent --daemon)

Funciona a veces. Pero lo que me molesta es que a veces no funciona. Es decir, a veces el proceso de construcción pide mis GnuPGcontraseñas una vez, a veces ninguna, y a veces muchas veces. Todo esto sucede durante una sola sesión de bash, después de haber invocado gpg-agentcomo antes. El hecho de que no se me solicite la contraseña esta vez no garantiza que la próxima vez no se me solicite la contraseña. Todavía no he descubierto por qué gpgdecide pedirme una contraseña y por qué no.

¿Te pasa a ti también?

Gracias

xpt
fuente
1
Tendrá que pasar un tiempo para tratar de determinar en qué circunstancias falla y en qué circunstancias tiene éxito. Si puede describir lo que se correlaciona de manera confiable con la falla, entonces es más probable que otra persona piense en una solución.
bignose
En Emacs, para GNUS y .authinfo.gpg, tengo una pista para usar gpg2, que gpg-agentestá asociada con. Entonces (setq epg-gpg-program "/usr/bin/gpg2")funcionó para mí. Quizás tenga que descubrir cuáles de sus aplicaciones tienen el problema, pueden estar prefiriendo gpg(1).
Brady Trainor

Respuestas:

7

Encontró cómo usar correctamente gpg-agentdesde http://tr.opensuse.org/SDB:Using_gpg-agent

Después de eso, mi gpg-agentdemonio está almacenando en caché mis GnuPGcontraseñas correctamente ahora. No había nada malo con mi configuración, solo que no sabía cómo probar si mis GnuPGcontraseñas se almacenan en caché correctamente o no.

Ahora lo hago:

echo "test" | gpg -ase -r 0xMYKEYID | gpg

Desde el sitio: "Reemplace 0xMYKEYID con su ID de clave GnuPG. Mientras ejecuta este comando, el agente debe abrir un diálogo gráfico de contraseña dos veces: primero para firmar o encriptar (gpg -ase) (gpg -ase) luego para descifrar o verificar la firma ( | gpg). De ahora en adelante, cada vez que se use GnuPG (ya sea desde la línea de comando o incrustado en un programa gráfico como KMail), la contraseña del agente de gpg se pasará automáticamente (hasta que caduque el tiempo de espera o la interfaz gráfica sea desactivada). cerrado)."

Y para evitar el vencimiento del almacenamiento en caché, ahora he establecido un período de tiempo de espera extremadamente largo:

$ cat ~/.gnupg/gpg-agent.conf
max-cache-ttl 60480000
default-cache-ttl 60480000
xpt
fuente
De acuerdo con linux.die.net/man/1/gpg-agent , también puede agregar --write-env-file "${HOME}/.gpg-agent-info"al iniciar gpg-agent y luego agregar if [ -f "${HOME}/.gpg-agent-info" ]; then . "${HOME}/.gpg-agent-info"; export GPG_AGENT_INFO fi a su .bashrc para detectar si el agente ya se está ejecutando. Parece una solución un poco más limpia.
Sean the Bean
@SeantheBean, excelente. Lo
probaré
WARNING: "--write-env-file" is an obsolete option - it has no effectdesde por lo menos Apr 4 '16. Ref: serverfault.com/a/481174
xpt