DEV Community

Cover image for Cómo crear y vincular una llave SSH con GitHub
John
John

Posted on

Cómo crear y vincular una llave SSH con GitHub

Crear una llave SSH no solo es la forma más rápida de trabajar con tus repositorios en GitHub, es también la forma más segura y recomendada en los entornos de desarrollo profesionales.

¿Que es una llave SSH?

Una llave SSH es una clave que te permitirá autenticarte ante un servicio, en este caso, GitHub. Por lo general vienen 2 llaves: una pública y una privada. Con la pública puedes enviar y recibir información cifrada de la web, mientras que con la privada puedes descifrar esa información para poder su contenido.

Nota: NUNCA compartas tu llave privada.

Antes de crear la llave

Antes de crear la llave, primero debes verificar que no tienes las llaves ya creadas. ¿Cómo lo haces? Simple, ejecuta este comando:

ls -al .ssh

Por lo general tienen estos nombres:

  • id_rsa.pub
  • id_dsa.pub

Así que si te topas con uno de ellos, lo más probable es que ya tengas las llaves y solo debes vincular esa llave con GitHub.

verificar si se tiene una llave SSH
En este caso, no tengo llaves. Vamos a crearla.

¿Cómo crear un llave SSH?

Para crear una llave SSH, simplemente ejecuta este comando:

ssh-keygen -t rsa -b 4069 -C "j@ejemplo.com"

Recuerda poner tu correo electrónico.

Una vez corras el comando se te presentarán dos preguntas:

  1. Si deseas que la llave SSH se guarde en el directorio por defecto. De no ser así, puedes poner el directorio donde quieras guardar la llave. Te recomiendo dejar la llave en el directorio por defecto.
  2. Luego de seleccionar el directorio, te pedirá una contraseña extra (passphrase). En lo personal te recomiendo no ponerla debido a que cada vez que quieras usar la llave te pedirá la contraseña, y eso es lo que queremos evitar.

Si haces todo según lo indicado, este sería el resultado:
SSH Key

Verificamos una vez más si tenemos la llave:
Creación de  una llave ssh
Y efectivamente. It´s ready!

Ahora, vamos a vincularla con nuestra cuenta de GitHub. Pero primero un breve paso más.

Guardando la llave en el SSH-Agent

En GitHub existe algo llamado SSH-Agent. Esto nos permite recordar las llaves privadas de cada usuario mientras dura la sesión. De esta manera es que logramos la autenticación. Para lograr esto, vamos a ejecutar este comando en la consola:
eval "$(ssh-agent -s)" && ssh-add ~/.ssh/id_rsa

Este debería ser el resultado:
ssh-agent

Con este paso el SSH-Agent recordará las llaves por nosotros.

Vincular llave SSH con GitHub

Para poder vincular la llave SSH con tu cuenta de GitHub debes ir a:
Tu perfil (click en tu avatar) -> Opción settings -> En la barra izquierda seleccionas la opción SHH Keys and GPG Keys

Una vez allí, seleccionas la opción New SSH Key
SSH Github

En la opción title te recomiendo poner un título descriptivo, por ejemplo: PC de John, PC de trabajo (nombre de empresa), etc... Y en la opción Key deberás pegar tu llave pública. Para eso, vamos a la consola y ejecutamos este comando:

cat ~/.ssh/id_rsa.pub

Este comando mostrará tu llave pública:
SSH Public

Copiala y pegala en la opción Key. Así:
Aprende a crear una llave ssh

Le das en la opción Add SSH Key y por motivos de seguridad GitHub te pedirá hacer login nuevamente. Una vez haga el login, vas nuevamente a la opción SSH and GPG Keys y tendrás tu llave guardada.

Y eso es todo. Ya puedes clonar repositorios mediante llaves SSH sin ningún tipo de problema. Trabajar más rápido y como un/una profesional.

¡Nos vemos en el próximo post! 🚀

Top comments (2)

Collapse
 
adri_el_monedas profile image
Adrian Guerrero Vera

Perfectamente explicado, ahora mis repositorios funcionan con SSH. Muchas gracias.

Collapse
 
rodrigovidalguzmandiaz profile image
RodrigoVidalGuzmanDiaz

Creo que lo hice bien y también gracias por la explicación detallada. Me salvaron