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 todavía da 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 de git y seguí los pasos, pero todavía no funciona, ¿alguna idea?
Respuestas:
Debe configurar la clave secreta antes de usarla.
O declararlo globalmente si desea utilizar la misma clave para cada repositorio.
Fuente: Herramientas de Git: firma de su trabajo
fuente
git config --global gpg.program gpg2
.Esto funcionó para mí en Windows 10 (tenga en cuenta que uso la ruta absoluta a gpg.exe):
Este fue el error que obtuve antes de la solución:
fuente
secret key not available
con VS Code y lagpg.exe
ubicación de configuración lo resolvió.Lo que funcionó para mí fue agregar
Si desea encontrar la ruta completa de gpg2.exe:
fuente
gpg.exe
lugar degpg2.exe
.Me gustaría completar todas estas respuestas, porque tengo muchos problemas con esto.
Estos ejemplos usan la
--global
bandera, pero puede eliminarla si desea estas cosas localmente.Configurar la clave secreta en git
Configurar el programa brujo gpg que usará en git (opcional)
Algunos sistemas (Ubuntu por ejemplo) pueden tener
gpg
ygpg2
al mismo tiempo. Necesita especificar que usarágpg2
Exportar GPG_TTY (opcional)
Es posible que si usa estos comandos en un entorno ssh tenga el siguiente error:
Inappropriate ioctl for device
ogpg: échec de la signature : Ioctl() inapproprié pour un périphérique
. Esto se puede solucionar mediante:Habilitar automáticamente el canto GPG (opcional)
fuente
--unset
bandera en esosgit config
comandos para deshabilitarloTuve una situación en la que me estaba pasando lo mismo en una máquina con Windows 10.
Los comandos
"C:\Program Files (x86)\GnuPG\bin\gpg.exe" --list-secret-keys --keyid-format LONG
ygpg --list-secret-keys --keyid-format LONG
donde me dan resultados completos diferentes!La razón principal estaba relacionada con respuestas anteriores pero en un sentido diferente:
Espero que esto pueda ayudar a cualquiera que se tropiece con este mensaje y las respuestas anteriores no resuelvan el problema.
fuente
Tienes que configurar la variable
GNUPGHOME
. Sin él, GnuPG no puede encontrar sus claves.En Unix, simplemente lo agrega a la ruta.
En Windows, debe abrir el panel de control y configurarlo como
fuente
GNUPGHOME
. ConGPGHOME
eso funciona para míTuve el mismo problema porque el nombre de git y la tienda de correo electrónico en .gitconfig eran diferentes a los de la clave gpg proporcionada. Los cambié para que coincidieran y empezó a funcionar.
fuente
Usar
"C:\Program Files\Git\usr\bin\gpg.exe"
fue la solución para mí.Tuve que desinstalar kleopatra. Con él, no estaba funcionando.
Entonces, resumiendo;
No se necesita kleopatra, use GIT predeterminado en su lugar.
fuente
Tal vez necesite clonar su propio repositorio donde tenga derechos. Tuve este problema cuando cloné el repositorio de otra persona.
fuente