Original article: How to Get and Configure Your Git and GitHub SSH Keys

Si usas Github sin configurar una clave SSH, te lo estas perdiendo. Sólo piensa en todo el tiempo que gastas en introducir tu correo electrónico y contraseña en la consola cada vez que haces push de un commit, que podría ser dedicado a programar.

Bueno, no mas. Aquí hay una guía rápida para generar y configurar una clave SSH con GitHub, para que nunca mas tengas que autenticarte de la manera antigua.

Verifica si ya existe una clave SSH

Primero, revisa si ya tienes generadas claves SSH para tu maquina. Abre la terminal e ingresa el siguiente comando.

ls -al ~/.ssh

Si ya generaste claves SSH, deberías ver una respuesta similar a esta:

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

Si tus claves ya existen, avanza a la sección copiar tu clave SSH pública mas debajo.

Si no ves ninguna respuesta o recibes un mensaje de que el archivo o directorio no existe (No such file or directory), entonces ejecuta en la terminal:

mkdir $HOME/.ssh

Luego genera un nuevo conjunto de claves con:

ssh-keygen -t rsa -b 4096 -C your@email.com

Ahora revisa que tus claves existan con el comando ls -al ~/.ssh y asegurate de que la salida de la terminal es similar a la mostrada mas arriba.

Aviso: Las claves SSH siempre son generadas como un par de claves públicas (id_rsa.pub)  y privadas (id_rsa). Es extremadamente importante que nunca reveles tu clave privada, y solo uses tu clave pública para cosas como la autenticación en GitHub. Puedes leer mas sobre como funcionan los pares de claves SSH / RSA aquí.

Agregua tu clave SSH al ssh-agent

ssh-agent es un programa que se inicia cuando inicias sesión y almacena tus claves privadas. Para que funcione correctamente, necesita estar ejecutandose y tener una copia de tu clave privada.

Primero, asegúrate de que ssh-agent esta ejecutándose con:

eval "$(ssh-agent -s)" # for Mac and Linux

o:

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

Luego, añade tu clave privada al ssh-agent con:

ssh-add ~/.ssh/id_rsa

Copia tu clave SSH publica

A continuación, debes copiar tu clave SSH pública en el portapapeles

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

cat ~/.ssh/id_rsa.pub # Linux

Luego selecciona y copia la respuesta.

O para Windows simplemente ejecuta:

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

Añade tu clave pública SSH a GitHub

Ve a la página de ajustes de GitHub, click en SSH and GPG keys y en dar al botón "New SSH key":

Luego ingresa un nombre reconocible y pega tu clave pública  (id_rsa.pub) :

image-15

Finalmente, comprueba la autenticación en la terminal con:

ssh -T git@github.com

Si seguiste correctamente todos los pasos, deberías ver este mensaje:

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