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.