Skip to main content
  1. Blogs/

Git: Copia de Seguridad y Restauración de Llaves GPG y SSH

·293 words·2 mins· loading · loading ·
tutorial git linux

Para firmar tus commits de Git puedes usar llaves SSH (como he explicado en este artículo) o GPG.

En este artículo aprenderás como respaldar y restaurar tus llaves en caso de cambiar de equipo o reinstalar sistema.

Respaldo y Restauración
#

SSH
#

Para respaldar tus llaves:

  • Copia los archivos id_x y id_x.pub del directorio ~/.ssh/ a una memoria USB

Donde x es cualquiera de los tipos de llaves SSH soportadas, como los que soporta GitLab, de acuerdo a la siguiente tabla:

AlgoritmoLlave PúblicaLlave Privada
ED25519 (preferred)id_ed25519.pubid_ed25519
ED25519_SKid_ed25519_sk.pubid_ed25519_sk
ECDSA_SKid_ecdsa_sk.pubid_ecdsa_sk
RSA (at least 2048-bit key size)id_rsa.pubid_rsa
DSA (deprecated)id_dsa.pubid_dsa
ECDSAid_ecdsa.pubid_ecdsa

Para restaurar tus llaves, sigue las instrucciones:

  • Copia los archivos id_x y id_x.pub de la memoria USB y pégalos en el directorio ~/.ssh/
  • Cambia los permisos y propiedad de ambos archivos
$ chown user:user ~/.ssh/id_rsa*
$ chmod 600 ~/.ssh/id_rsa
$ chmod 644 ~/.ssh/id_rsa.pub

Donde user es el nombre de usuario con el que inicias sesión en el sistema

  • Inicia ssh-agent
$ exec ssh-agent bash
  • Agrega tu llave privada SSH a ssh-agent
$ ssh-add ~/.ssh/id_rsa

GPG
#

  • Identifica la llave privada ejecutando el siguiente comando:
$ gpg --list-secret-keys --keyid-format LONG

Mostrará lo siguiente:

sec   4096R/3AA5C34371567BD2 2016-03-10 [expires: 2017-03-10]

Los caracteres después de 4096R/ corresponden al ID de la llave privada.

  • Exporta la llave privada
gpg --export-secret-keys $ID > my-private-key.asc

$ID es el valor del ID de tu llave privada, obtenido en el paso anterior.

  • Copia el archivo my-private-key.asc a una memoria USB

Para restaura:

  • Copia el archivo my-private-key.asc de la memoria USB y pégalo en el dispositivo al que deseas importarlo

  • Importa tu llave GPG

$ gpg --import my-private-key.asc

Una vez que las llaves se han importado, podrás continuar firmando tus commits.

Related

GitLab: Autenticación y Firma con Llaves SSH
·540 words·3 mins· loading · loading
tutorial gitlab
Multipass: Máquinas Virtuales de Ubuntu de Forma Fácil
·1148 words·6 mins· loading · loading
tutorial ubuntu virtualization
Python: Nueva Publicación en X con Tweepy
·333 words·2 mins· loading · loading
tutorial python
PostgreSQL: Optimización de Consultas con Python y PgBouncer
·1130 words·6 mins· loading · loading
postgresql python
MySQL: Respaldos con mysqldump
·1092 words·6 mins· loading · loading
mysql python