tipos - Generando una clave GPG para etiquetar git
¿para qué nos sirve el sha-1 cuando creamos tags? (3)
El nombre del committer se encuentra en su archivo ~/.gitconfig
. Cambie esa entrada a un nombre real (que es la forma en que desea comprometerse, de todos modos). Puede editar el archivo en su editor favorito, o simplemente emitir:
git config --global user.name "<name>"
Intento crear etiquetas firmadas en GitHub usando la línea de comando git. Full Name (skytreader) <[email protected]>
una clave GPG con un nombre de usuario (ejemplo) Full Name (skytreader) <[email protected]>
. Una vez hecho esto, trato de crear una etiqueta firmada . Sin embargo, recibo el siguiente error:
gpg: skipped "full <[email protected]>": secret key not available
gpg: signing failed: secret key not available
error: gpg failed to sign the data
error: unable to sign the tag
Me imagino que solo necesito crear otra clave con el nombre de usuario indicado. Pero luego, al ingresar el nombre "completo", gpg
queja de que mi nombre debe tener al menos 5 caracteres.
¿Cómo uso esta clave con git?
¿Cambio el nombre de usuario que git usa para firmar mis etiquetas con GPG para que tenga un nombre real de al menos 5 caracteres de largo?
Primero necesita verificar si hay una clave gpg para su ID.
$ gpg --list-key
Si tiene debe aparecer algo como esto:
- pub 2048R / 6AB3587A 2013-05-23
- uid xxx (gpg para xxx)
- sub 2048R / 64CB327A 2013-05-23
Si no hay una clave gpg. Deberías crear
$ gpg --gen-key
A continuación tienes esta salida:
gpg (GnuPG) 2.0.14; Copyright (C) 2009 Free Software Foundation, Inc. Este es software libre: usted es libre de cambiarlo y redistribuirlo. NO HAY GARANTÍA, en la medida permitida por la ley.
Seleccione el tipo de clave que desea:
- (1) RSA y RSA (predeterminado)
- (2) DSA y Elgamal
- (3) DSA (solo señal)
- (4) RSA (solo señal)
¿Tu seleccion? Las claves RSA pueden tener entre 1024 y 4096 bits de longitud. ¿Qué tamaño de teclado quieres? (2048)
Tamaño de clave solicitado es 2048 bits
Por favor, especifique por cuánto tiempo la clave debe ser válida.
0 = key does not expire <n> = key expires in n days <n>w = key expires in n weeks <n>m = key expires in n months <n>y = key expires in n years
La clave es válida para? (0)
La clave no caduca en absoluto
¿Es esto correcto? (s / N) y
GnuPG needs to construct a user ID to identify your key. Real name: xxx Email address: [email protected] Comment: gpg for xxx You selected this USER-ID: "xxx(gpg for xxx) <[email protected]>" Change (N)ame, (C)omment, (E)mail or (O)kay/(Q)uit? O You need a Passphrase to protect your secret key. can''t connect to `/xxx/.gnupg/S.gpg-agent'': No such file or directory We need to generate a lot of random bytes. It is a good idea to perform some other action (type on the keyboard, move the mouse, utilize the disks) during the prime generation; this gives the random number generator a better chance to gain enough entropy.
Si ya tiene una clave generada, puede indicarle a git que use esa clave específica sin preocuparse por la coincidencia entre su ID de usuario de git (nombre + correo electrónico) y la ID de la llave GPG. Sin user.email
debe tener su user.email
coincida con uno de los correos electrónicos en su clave GPG para sus etiquetas firmadas o se comprometa a ser útil para otros usuarios.
Para configurar la clave de uso global en su computadora, configure su configuración global de git con:
git config --global user.signingkey 6AB3587A
O bien, puede configurar user.signingkey
para solo el repositorio actual en el que se encuentra:
git config user.signingkey 6AB3587A