Configura SSH en Git & Github 🔐

Que es SSH?

  • SSH significa Secure Shell y es una forma impresionante de autenticarse en servidores remotos, por ejemplo el servidor Github, sin tener que escribir la contraseña cada vez.

    SSH funciona a través de dos claves, la clave privada (SOLO PARA TI) y la clave pública (PARA TODOS). Mientras que la clave privada siempre debe permanecer privada y segura, la clave pública puede ser compartida en Internet sin ningún problema .

Generando la clave ssh en Windows y Linux

Dependiendo el sistema operativo que estes usando, ya sea Windows o Linux, debemos abrir la consola(git bash, cmd, powershell, bash).

una vez abierto la consola, debemos ejecutar el siguiente comando. es recomendable estar en el directorio ~.

en caso de que no estes en dicho directorio simplemente ejecuta

cd ~
ssh-keygen -t rsa -b 4096 -C "tucorreo@dominio.com"

NOTAS 1: Donde dice: , ahí va tu email. cuando lo generes te sale las opciones como por ejemplo donde quieres guardarlo, si deseas colocarle clave, entre otras cosas, si le das ENTER dejara todo en blanco y hará la configuración por defecto.

le aconsejo dejar las opciones por defecto, ya que si por ejemplo le agregamos contraseña a la llave, cada vez que hagamos un PR, nos solicitara dicha contraseña lo cual podría ser algo molesto a la hora de trabajar con git.

Seguramente se preguntara que acabamos de realizar con la ejecución de las ordenes anteriores. Aquí te explico algunos FLAGS

  • El -t rsa genera una clave con encriptación RSA.

  • El -b es el tamaño, en este caso es de 4096 bit.

  • El -C le colocas una nota para identificar la llave muy útil.

Obteniendo el contenido de la llave publica y agregándola a Github.

Esta llave que se generó la debemos montar en un agente (como un manejador de llaves) y luego cargarla para poder ser usada.

Para preparar tu agente con tu nueva llave corre en la consola el siguiente comando:

eval $(ssh-agent -s)

Esto creará al agente y te dará el numero de pid que esta corriendo. Luego le agregas la llave al agente con este comando:

ssh-add ~/.ssh/id_rsa

Te debe salir un mensaje como este:

Identity added: /c/User/danieldev/.ssh/id_rsa(tucorreo@dominio.com)

una vez realizado este paso, ahora si vamos a obtener el contenido de la llave publica, esto lo logras ejecutando

cat ~/.ssh/id_rsa.pub

Deberías obtener algo así :

Debes copiar todo el contenido desde ssh-rsa hasta tu correo electronico, una vez copiada la llave, dirigite a https://github.com/settings/keys

aqui deberas darle en nueva clave o New SSH key

Agrégale un nombre y pega el contenido de la llave

Dale en Add SSH key y listo. puede probar clonando un repositorio con ssh

Debería clonar sin problemas. espero este articulo les ayude con dicha configuración.