Informarle a Git acerca de tu llave GPG
Si estás utilizando una clave GPG que coincide con tu identidad de confirmante y tu dirección de correo electrónico verificada asociada a tu cuenta de GitHub.com, entonces puedes comenzar a firmar confirmaciones y etiquetas.
Note
Si no tienes una llave GPG que coincida con la identidad de la persona que confirma el cambio, debes asociar un correo electrónico a una llave existente. Para más información, consulta Asociar un correo electrónico con tu llave GPG.
Si tienes múltiples llaves GPG, le debes decir a Git cuál utilizar.
-
Abra Terminal .
-
Si has configurado previamente Git para usar un formato de clave diferente al firmar con
--gpg-sign
, quita esta configuración para que se use el formato predeterminado deopenpgp
.git config --global --unset gpg.format
-
Use el comando
gpg --list-secret-keys --keyid-format=long
para enumerar el formato largo de las claves de GPG para las que tiene una clave pública y privada. Se requiere una llave privada para registrar confirmaciones o etiquetas.Shell gpg --list-secret-keys --keyid-format=long
gpg --list-secret-keys --keyid-format=long
Note
Es posible que en algunas instalaciones de GPG en Linux sea necesario usar en cambio
gpg2 --list-keys --keyid-format LONG
para ver una lista de las claves existentes. En este caso, también tendrá que configurar Git para que usegpg2
mediante la ejecución degit config --global gpg.program gpg2
. -
Desde la lista de llaves GPG, compia la forma larga de la ID de la llave GPG que quieres utilizar. En este ejemplo, el id. de clave de GPG es
3AA5C34371567BD2
:Shell $ gpg --list-secret-keys --keyid-format=long /Users/hubot/.gnupg/secring.gpg ------------------------------------ sec 4096R/3AA5C34371567BD2 2016-03-10 [expires: 2017-03-10] uid Hubot <hubot@example.com> ssb 4096R/4BB6D45482678BE3 2016-03-10
$ gpg --list-secret-keys --keyid-format=long /Users/hubot/.gnupg/secring.gpg ------------------------------------ sec 4096R/3AA5C34371567BD2 2016-03-10 [expires: 2017-03-10] uid Hubot <hubot@example.com> ssb 4096R/4BB6D45482678BE3 2016-03-10
-
Para configurar tu llave de firma GPG principal en Git, pega el siguiente texto en sustitución de la ID de la llave GPG principal que quieras utilizar. En este ejemplo, el id. de clave de GPG es
3AA5C34371567BD2
:git config --global user.signingkey 3AA5C34371567BD2
Como alternativa, puede que le interese utilizar una subclave. En este ejemplo, el id. de subclave de GPG es
4BB6D45482678BE3
:git config --global user.signingkey 4BB6D45482678BE3
Si utiliza varias claves y subclaves, debe anexar una marca de exclamación
!
a la clave para indicar a Git que esta es la clave preferida. A veces, es posible que tenga que evitar el signo de exclamación con una barra diagonal inversa:\!
. -
Opcionalmente, para configurar Git para firmar todas las confirmaciones y etiquetas de forma predeterminada, escribe el siguiente comando:
git config --global commit.gpgsign true git config --global tag.gpgSign true
Para más información, consulta Firmar confirmaciones.
-
Para agregar la clave de GPG al archivo de inicio de
.bashrc
, ejecute el comando siguiente:[ -f ~/.bashrc ] && echo -e '\nexport GPG_TTY=$(tty)' >> ~/.bashrc
Indicación a Git acerca de tu clave SSH
Puedes usar una clave SSH existente para firmar confirmaciones y etiquetas, o generar una nueva específicamente para firmar. Para más información, consulta Generación de una nueva clave SSH y adición al agente SSH.
Note
La verificación de la firma SSH está disponible en Git 2.34 o posterior. Para actualizar la versión de Git, vea el sitio web de Git.
-
Abra Terminal .
-
Configura Git para que use SSH a fin de firmar confirmaciones y etiquetas:
git config --global gpg.format ssh
-
Para configurar tu clave de firma SSH en Git, pega el texto siguiente sustituyendo /PATH/TO/.SSH/KEY.PUB por la ruta de la clave pública que quieras utilizar.
git config --global user.signingkey /PATH/TO/.SSH/KEY.PUB