Resumen

Proteger la forma en que envías código a plataformas como GitHub es una práctica fundamental para cualquier persona que trabaje en desarrollo web. Configurar una llave SSH garantiza que la transferencia de archivos se realice de manera encriptada, y el proceso es más sencillo de lo que parece. A continuación se explica paso a paso cómo generar esa llave, vincularla con GitHub y finalmente subir un repositorio.

¿Qué es una llave SSH y cómo se genera?

SSH es un protocolo de seguridad que permite enviar archivos de forma encriptada entre tu computadora y un servidor remoto como GitHub. Para crear la llave se utiliza el comando ssh-keygen directamente en la terminal [1:20].

El comando completo luce así:

bash ssh-keygen -t rsa -b 4096 -C "tu-correo@ejemplo.com"

  • -t rsa: indica el algoritmo de cifrado RSA que se usará.
  • -b 4096: define el tamaño de la llave en bytes, en este caso 4096.
  • -C: agrega una frase de codificación, normalmente tu correo electrónico.

Al ejecutarlo, el sistema pregunta dónde guardar la llave. Por defecto se almacena en ~/.ssh/id_rsa. También solicita una contraseña adicional que es opcional [2:10].

¿Cuál es la diferencia entre llave privada y llave pública?

El comando genera dos archivos dentro de la carpeta ~/.ssh/ [2:40]:

  • id_rsa: la llave privada. Jamás debe compartirse con nadie ni salir de tu equipo.
  • id_rsa.pub: la llave pública. Esta es la que se comparte con GitHub para que la plataforma verifique tu identidad.

Puedes verificar ambos archivos con:

bash cd ~/.ssh ls

¿Cómo activar el servidor SSH y agregar la llave privada?

Antes de conectar con GitHub, es necesario confirmar que el agente SSH esté corriendo. Esto se hace con el siguiente comando [3:18]:

bash eval "$(ssh-agent -s)"

Si responde con un mensaje que incluye un PID (un número identificador de proceso), el servidor está activo. Luego se agrega la llave privada al agente [3:50]:

bash ssh-add ~/.ssh/id_rsa

Todas las computadoras con Linux tienen este servicio disponible, ya que es el encargado de la encriptación de datos al momento de enviarlos.

¿Cómo vincular la llave pública con GitHub?

El siguiente paso es copiar la llave pública y pegarla en la configuración de GitHub. Para hacerlo de forma segura se utiliza una herramienta llamada xclip [4:30]:

bash sudo apt install xclip xclip -selection clipboard < ~/.ssh/id_rsa.pub

Este comando copia el contenido de la llave pública directamente al portapapeles sin exponerla en pantalla. Después, dentro de GitHub, se accede a Settings > SSH and GPG keys y se agrega una nueva llave SSH pegando el contenido copiado [5:10].

¿Cómo subir el repositorio local a GitHub usando SSH?

Con la llave configurada, es momento de crear el repositorio en GitHub. Desde el perfil se selecciona Repositorios > Nuevo, se asigna un nombre y se deja como público [5:50].

GitHub ofrece instrucciones para repositorios existentes. Es fundamental seleccionar la opción SSH en lugar de HTTPS en la parte superior de esas instrucciones [6:20]. Luego, desde la terminal ubicada en la carpeta del proyecto, se ejecutan tres comandos clave:

bash git remote add origin git@github.com:usuario/mi-primer-web.git git branch -M main git push -u origin main

  • git remote add origin: vincula el repositorio local con el repositorio remoto en GitHub.
  • git branch -M main: renombra la rama principal a main, siguiendo la convención actual que reemplazó el nombre master [7:00].
  • git push: sube todos los archivos y commits al repositorio remoto [7:20].

Al recargar la página del repositorio en GitHub, los archivos aparecen junto con el historial de commits y sus respectivos mensajes, como "agregando archivo HTML principal" o los commits de los archivos CSS y JavaScript [7:45].

Este flujo básico de trabajo con Git y GitHub es solo el punto de partida. Si encuentras alguna dificultad durante el proceso, comparte tu experiencia en los comentarios para resolver cualquier duda que pueda surgir.