Si usas GitHub sin configurar una clave SSH, realmente te estás perdiendo de algo genial. Piensa en todo el tiempo que pasaste introduciendo tu correo electrónico y tu contraseña en la consola cada vez que haces un commit podrías haberlo pasado programando.

Bueno, ya no más. Aquí hay una guía rápida para generar y configurar una clave SSH con GitHub para que nunca más tengas que autentificarte a la antigua.

Comprobar si existe una clave SSH

Primero, comprueba si ya has generado las claves SSH para tu máquina. Abre una terminal e introduce el siguiente comando:

ls -al ~/.ssh

Si ya has generado las claves SSH, deberías ver una salida similar a esta:

-rw-------  1 usuario usuario  1766 Jul  7  2018 id_rsa
-rw-r--r--  1 usuario usuario   414 Jul  7  2018 id_rsa.pub
-rw-------  1 usuario usuario 12892 Feb  5 18:39 known_hosts

Si tus claves ya existen, pasa a la sección Copia tu clave pública de SSH abajo.

Si no ves ninguna salida o ese directorio no existe (obtienes un mensaje de No such file or directory), entonces ejecuta:

mkdir $HOME/.ssh

Luego genera un nuevo conjunto de claves con:

ssh-keygen -t rsa -b 4096 -C tu@correo.com

Ahora comprueba que tus claves existen con el comando ls -al ~/.ssh y asegúrate de que la salida es similar a la anterior.

Nota: Las claves SSH siempre se generan como un par de claves públicas (id_rsa.pub) y privadas (id_rsa). Es extremadamente importante que nunca reveles tu clave privada, y que sólo uses tu clave pública para cosas como la autenticación de GitHub. Puedes leer más sobre cómo funcionan los pares de claves SSH / RSA aquí.

Agrega tu clave SSH a ssh-agent

ssh-agent es un programa que se inicia cuando te conectas y almacena tus claves privadas. Para que funciones correctamente, debe estar ejecutándose y tener una copia de tu clave privada.

Primero, asegúrate de que ssh-agent se está ejecutando con:

eval "$(ssh-agent -s)" # para Mac y Linux

o:

eval `ssh-agent -s`
ssh-agent -s # para Windows

Entonces, agrega tu clave privada a ssh-agent con:

ssh-add ~/.ssh/id_rsa

Copia tu clave pública de SSH

A continuación, tienes que copiar tu clave pública de SSH en el portapapeles.

Para Linux o Mac, imprime el contenido de tu clave pública en la consola con:

cat ~/.ssh/id_rsa.pub # Linux

Luego resalta y copia la salida.

O para Windows, simplemente ejecuta:

clip < ~/.ssh/id_rsa.pub # Windows

Agrega tu clave SSH pública a GitHub

Ve a la página de configuración de tu GitHub y haz clic en el botón "New SSH key":

Luego dale a tu clave un título reconocible y pégala en tu clave pública (id_rsa.pub):

image-15

Finalmente, prueba la autenticación con:

ssh -T git@github.com

Si has seguido todos estos pasos correctamente, deberías ver este mensaje:

Hi tu_usuario! You've successfully authenticated, but GitHub does not provide shell access.

Más información sobre SSH:

Traducido del artículo - How to Get and Configure Your Git and GitHub SSH Keys