gpg2 solicita una frase de contraseña al importar claves secretas

14

Estoy tratando de transferir mi llavero secreto gpg de gpg1 (1.4.21) a gpg2 (2.1.15) usando

gpg2 --import ~/.gnupg/secring.gpg

gpg2 está pidiendo las frases de contraseña de todas las claves secretas en el llavero.

¿Por qué requeriría las frases de contraseña en esta etapa (solo debería proporcionarlas cuando use las teclas) y cómo puedo evitar esto, es decir, importar el llavero sin suministrar frases de contraseña?

El sistema es Arch Linux, kernel 4.7.6. Gracias.

0rango
fuente

Respuestas:

17

El problema se explicó aquí en el rastreador de errores GnuPG ; No lo vi hoy más temprano.

La solucion es:

gpg2 --batch --import ~/.gnupg/secring.gpg
0rango
fuente
55
¡Gracias! Estaba haciendo exactamente esto en un servidor sin cabeza utilizando la redirección de shell, por ejemplo, gpg2 --import < my-keysy por razones desconocidas, esto no me mostró ningún mensaje de frase de contraseña, sino solo un críptico gpg: error building skey array: Inappropriate ioctl for device. Con suerte, buscar en Google ese mensaje enviará a la gente aquí de ahora en adelante.
jlh
Mi mensaje de error críptico ligeramente diferente al ejecutar sin cabeza fue error sending to agent: Operation cancelled. Hay otras respuestas que citan este mensaje de error que recomiendan usar --batch, pero esta respuesta es la única que encontré que hizo un esfuerzo adicional al vincular a la causa raíz de por qué esta solución es necesaria.
Rusty Shackleford
Para cualquiera que reciba el Inappropriate ioctl for deviceerror, intente export GPG_TTY=$(tty)según github.com/keybase/keybase-issues/issues/2798 y luego realice la importación por lotes
Doug Ayers