00:00 / 00:00

Logo curso Github SSH + Personal Access Token (Windows)

Github SSH + Personal Access Token (Windows)

Fecha publicación: Aug 5, 2021

Clave SSH

Una opción muy robusta para trabajar con Git es usar el protocolo SSH, la única parte negativa es que tiene un poco más de trabajo hacer el setup.

En este caso, vamos a crear nuestras claves SSH usando el sistema operativo Windows y configurarlas en Github para poder identificarnos.

Manos a la obra

Para poder generar claves SSH podemos utilizar la herramienta ssh-keygen, esta herramienta viene normalmente instalada en cualquier distribución Linux o MacOS y para el caso de Windows, necesitaremos un terminal con bash (por ejemplo el terminal que viene al instalar git) ya que también nos instala dicha librería.

Abrimos el terminal de bash y ejecutamos el siguiente comando:

ssh-keygen -m PEM -t rsa -C <nuestro-email>

> Enter file in which to save the key (/c/Users/<nombre-usuario>/.ssh/id_rsa): `./id_rsa`
> Enter passphrase (empty for no passphrase): `Pulse Enter for empty`
> Enter same passphrase again: `Pulse Enter for empty`

Vamos a diseccionar el comando que estamos ejecutando:

-m PEM: es el formato a aplicar. PEM es un fomato muy común para crear certificados de clave privada/pública.

rsa: RSA es el algoritmo criptográfico a utilizar.

-C: es un comentario que queramos añadir a la clave ssh, por ejemplo nuestro email.

Dejaremos que guarde las claves privada y pública en la carpeta por defecto, que es la que usará git luego para poder utilizarla.

Si pulsamos enter, no hace falta añadir ninguna contraseña. Aquí como prefieras.

Una vez generadas, debemos de copiar la clave pública (el fichero que termina en .pub) para utilizarla en nuestro perfil de Github, así cada vez que nosotros utilicemos la clave privada en nuestra máquina para identificarnos, Github utilizará la clave pública para poder verificar que los credenciales usados son correctos.

En Github, vamos a Nuestro perfil > Settings > SSH and GPG keys para añadir una nueva:

Botón settings en nuestro perfil

Botón nueva clave SSH

Vamos a darle un nombre para identificar la máquina donde estamos usando esta clave ssh, por ejemplo, Portátil trabajo y copiamos el valor de la clave pública:

Añadir nueva clave SSH

Ahora, podemos volver a la pantalla principal del repositorio que hemos creado anteriormente, y copiar la URL usando el protocolo SSH

Copiar url del repositorio con el protocolo SSH

Vamos a probarlo! Podemos abrir cualquier terminal en nuestra máquina local donde podamos ejecutar los comandos de git. Vamos a repetir los pasos del vídeo anterior para asegurarnos de que borramos todos los credenciales para forzar a que los pida de nuevo:

Buscamos Administrador de credenciales

Y eliminamos las credenciales para Github:

Eliminar credenciales Github

Ahora en el terminal, clonamos el repositorio usando la url copiada:

git clone git@github.com:<nombre-usuario>/<nombre-repositorio>.git .

Nos pide que si queremos usar esa clave ssh, escribimos yes.

A partir de ahora, no preguntará de nuevo por la clave SSH a utilizar ya que lo ha apuntado en el fichero C:/Users/<nombre-usuario>/.ssh/known_hosts.

En el caso de que necesitemos autenticarnos en Github en otra máquina, deberemos de repetir los pasos para poder generar una nueva clave SSH.

¿Te apuntas a nuestro máster?

Si te ha gustado este ejemplo y tienes ganas de aprender Front End guiado por un grupo de profesionales ¿Por qué no te apuntas a nuestro Máster Front End Online Lemoncode? Tenemos tanto edición de convocatoria con clases en vivo, como edición continua con mentorización, para que puedas ir a tu ritmo y aprender mucho.