the signingkey gpg generation failed error data create git

signingkey - error de firma de confirmación git: clave secreta no disponible



gpg key generation linux (7)

Debe configurar la clave secreta antes de usarla.

git config user.signingkey 35F5FFB2

O declararlo globalmente si desea utilizar la misma clave para cada repositorio.

git config --global user.signingkey 35F5FFB2

Fuente: https://git-scm.com/book/en/v2/Git-Tools-Signing-Your-Work

Recibo este error cuando intento comprometerme con Git.

gpg: skipped "name <[email protected]>": secret key not available gpg: signing failed: secret key not available error: gpg failed to sign the data fatal: failed to write commit object

He generado una nueva clave como se muestra a continuación, pero sigue dando el mismo error.

gpg --list-keys ~/.gnupg/pubring.gpg -------------------------------- pub 2048R/35F5FFB2 2016-04-23 uid name (New key) <[email protected]> sub 2048R/112A8C2D 2016-04-23

La clave secreta es la misma que la anterior.

Encontré esto Generando una clave GPG para el etiquetado git y seguí los pasos, pero todavía no funciona, ¿alguna idea?


Esto funcionó para mí en Windows 10:

git config --global user.signingkey 35F5FFB2

Este fue el error que recibí antes de la solución:

git config --global gpg.program gpg2


Lo que funcionó para mí fue agregar

git config --global gpg.program "C:/Program Files (x86)/GNU/GnuPG/gpg2.exe"

Si desea encontrar la ruta completa de gpg2.exe:

where gpg2.exe


Me gustaría completar todas estas respuestas, porque tengo muchos problemas con esto.

Estos ejemplos usan el indicador --global , pero puede eliminarlo si desea hacer estas cosas localmente.

Configurar clave secreta en git

export GPG_TTY=$(tty)

Configure el programa gpg de brujas para usar en git (opcional)

Algunos sistemas (Ubuntu, por ejemplo) pueden tener gpg y gpg2 al mismo tiempo. gpg2 especificar que usará gpg2

git config --global commit.gpgsign true

Exportar GPG_TTY (opcional)

Si utiliza estos comandos en un entorno ssh, es posible que tenga el siguiente error: Inappropriate ioctl for device o gpg: échec de la signature : Ioctl() inapproprié pour un périphérique . Esto se puede solucionar mediante:

# On unix add it to your path # On windows it will usually be under: <drive>:/Users/<username>/AppData/Roaming/gnupg

Activación automática de canto GPG (opcional)

System Variable Name: GNUPGHOME Path: <drive>:/Users/<username>/AppData/Roaming/gnupg


Quizás necesite clonar su propio repositorio donde tenga derechos. Tuve este problema cuando cloné el repositorio de otra persona.


Tienes que establecer la variable GNUPGHOME . Sin él, GnuPG no puede encontrar sus claves.

# On unix add it to your path # On windows it will usually be under: <drive>:/Users/<username>/AppData/Roaming/gnupg

En Unix, simplemente lo agrega a la ruta.
En Windows, debe abrir el panel de control y configurarlo como

System Variable Name: GNUPGHOME Path: <drive>:/Users/<username>/AppData/Roaming/gnupg


Tuve el mismo problema porque el nombre de git y la tienda de correo electrónico en .gitconfig eran diferentes de los de la clave gpg proporcionada. Los cambié para que coincidieran y comenzó a funcionar.