En este post te mostraré cómo configurar tu entorno de Linux para poder administrar tus repositorios y commits de GitHub sin tener que escribir la contraseña; solo usando la clave SSH.
Generando clave
Comienza generando la clave con:
ssh-keygen -t rsa -b 4096 -C "tu_correo@dominio.com"
Si te pregunta, coloca la clave en el archivo por defecto, que es ~/.ssh/id_rsa
Es importante que tu correo sea el que usas para iniciar sesión en GitHub, o que al menos tengas registrado en la plataforma. Eso creará la clave SSH.
Ahora iniciamos el agente SSH con:
eval "$(ssh-agent -s)"
Lo que estamos haciendo es iniciarlo y colocando su salida en la terminal. Debe decir algo como:
Agent pid XXXX
Después agregamos la clave con:
ssh-add ~/.ssh/id_rsa
Finalmente copiamos el contenido del archivo de la clave pública de id_rsa
, para ello simplemente muestra el contenido con:
cat ~/.ssh/id_rsa.pub
Y cópialo al portapapeles según sea tu caso, es decir, según tu sistema, ya que puede ser con CTRL + C
o CTRL + SHIFT + C
.
Por favor nota que el archivo termina en extensión pub pues vamos a mostrar la clave pública. Eso debe darte una salida de varias letras y caracteres, cópialos sin pasarte y sin que te falte alguno.
Agregar clave en GitHub
Ahora ve a GitHub, en tu perfil (lado derecho) selecciona Settings > SSH and GPG Keys o en el enlace https://github.com/settings/keys.
Ahí haz click en New SSH Key, ponle un título a tu clave y pega el contenido (dentro del textarea) que copiaste anteriormente. Si te pide la contraseña de tu cuenta, ingrésala, pues es una medida de seguridad.
Opcional: si ya habías clonado un repositorio
En caso de que hayas clonado el repositorio y ahora quieras hacer un commit o push con tu clave recién agregada dirígete al directorio en donde lo hayas clonado y ejecuta:
git remote set-url origin git@github.com:tu_usuario/nombre_repositorio.git
Cambiando obviamente tu nombre de usuario y el nombre del repositorio. En este caso git@github.com
se queda intacto.
Usar clave SSH
Ahora cuando quieras clonar un repositorio privado lo único que tienes que hacer es:
git clone git@github.com:tu_usuario/tu_repositorio.git
Y se usarán tus claves, en lugar de solicitar el usuario y contraseña.