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.
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:
- 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.
- 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:
Verificamos una vez más si tenemos la llave:
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:
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
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:
Copiala y pegala en la opción Key. Así:
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)
Perfectamente explicado, ahora mis repositorios funcionan con SSH. Muchas gracias.
Creo que lo hice bien y también gracias por la explicación detallada. Me salvaron