Me gusta firmar mis confirmaciones de git con mi clave PGP, así que estaba bastante alarmado cuando fui, git commit -S
pero en lugar de solicitar mi frase de contraseña de clave PGP, git comenzó a colgar. No he realizado ningún cambio en mi configuración de GPG en varios meses y he realizado muchos compromisos desde entonces sin ningún problema. Además, cuando intento ver mis claves privadas con gpg -K
, se bloquea gpg. Sin embargo, cuando corro gpg -k
para ver mis claves públicas, devuelve la lista como de costumbre. Esperemos que alguien tenga una idea de qué está causando este problema y cómo solucionarlo.
16
gpg-agent
una configuración similar en el .bashrc (etc.) del sistema remoto y está configurado para que aparezca en la pantalla X del control remoto o similar? He tenido problemas similares en el pasado (p. ej., enviando desde un terminal en mi caja de mito a mi máquina de escritorio para ejecutar algo que requiere gpg. También tuve problemas similares conssh-agent
), y la fuerza bruta lo "solucionó"export GPG_TTY=$(tty)
en el .bashrc, para asegurarse de que la solicitud siempre esté en el tty actual. No puedo soportar los mensajes de GUI passwd de todos modos.gpg-agent
página del manual que configurar GPG_TTY como se describe arriba no es algo que pirateé para trabajar, es obligatorio. La página de manual dice que siempre debe configurarlo en su .bashrc como lo hice yo, y también diceIt is important that this environment variable always reflects the output of the tty command.
: debe haber sido de donde lo obtuve. Otra cosa que debe tener cuidado es el programa de pinentry utilizado por gpg-agent. Tengo conjunto de minas (en~/.gnupg/gpg-agent.conf
) a/usr/bin/pinentry-curses
Respuestas:
Me encontré con este problema exacto (OSX Sierra 10.12.6, gpg / GnuPG 2.2.5)
Comandos que colgarían:
Mi solución fue la misma que mencionó John anteriormente (es decir, kill gpg-agent), ya que la mayoría de los otros métodos de how-can-i-restart-gpg-agent también se bloquearían.
Luego, para firmar git commits, configuré el tty env como se mencionó anteriormente en cas y también en gpg-failure-to-sign-commit-object .
fuente
gpg-agent
parece ser la única forma de hacerlo funcionar nuevamente.