En este breve tutorial vamos a ver cómo puedes generar una nueva clave SSH y agregarla a GitHub, de modo que puedas acceder a tus repositorios privados y gestionarlos localmente o desde tu servidor, ejecutando los comandos git pull
, git push
y cualquier otro que tenga restricciones.
Este tutorial funcionará en cualquier sistema operativo, ya sea Windows, MacOS o cualquier distribución de Linux, ya sea Debian, CentOS o Ubuntu. Si usas Windows, funcionará siempre y cuando uses la terminal de Linux o algún emulador de terminal como Git Bash. Si quieres, puedes consultar el tutorial de instalación de Git Bash, que se instalará con el instalador oficial de Git para Windows.
Para seguir este tutorial necesitarás conocimientos básicos de la línea de comandos:
- Si usas MacOS, puedes consultar el tutorial de introducción a la línea de comandos de MacOS.
- Si usas Linux, puede consultar el tutorial de introducción a la línea de comandos de Linux.
- Si usas Windows, también podrías consultar el tutorial de introducción a la línea de comandos de Linux.
Primero veremos cómo generar una clave SSH y luego cómo agregarla a GitHub.
Contenidos
Cómo generar una nueva clave SSH
Para genera runa nueva clave SSH en tu sistema, sigue los pasos que se describen a continuación:
- Abre ventana de la terminal de comandos o accede a tu servidor mediante SSH.
- Ejecuta el siguiente comando, reemplazando mi@email.tld por tu dirección de correo:
$ ssh-keygen -t ed25519 -C "mi@mail.tld"
Esto creará el pare de clave pública y privada que necesitamos. Es importante que mantengas el nombre de clave ed25519, ya que es el que GitHub buscará por defecto. En caso de que tu sistema no soporte el algoritmo Ed25519 tendrás que ejecutar al siguiente comando en lugar del anterior:
$ ssh-keygen -t rsa -b 4096 -C "mi@email.tld"
- Se te pedirá si deseas introducir un nombre de archivo en donde guardar la clave. Pulsa Enter para usar la ruta y nombre de archivo por defecto:
> Enter a file in which to save the key (/c/Users/you/.ssh/id_algorithm):[Press enter]
- Seguidamente se te pedirá que introduzcas una contraseña para la clave. Puedes introducir una contraseña o dejarla en blanco pulsando Enter para no usar ninguna:
> Enter passphrase (empty for no passphrase): [Type a passphrase] > Enter same passphrase again: [Type passphrase again]
Si vas a usar una contraseña, no te olvides de consultar documentación oficial, en donde se explica cómo trabajar con contraseñas de clave SSH.
- Y con esto ya habremos generado la clave.
Para más información, puedes consultar la guía oficial en donde se explica cómo generar una clave SSH de GitHub.
Cómo agregar una clave SSH al agente SSH
Una vez generada la clave, deberías agregarla al agente SSH de tu sistema para que la gestione, de forma que no tengas que especificarla continuamente. Para agregar la clave al agente SSH de tu sistema sigue estos pasos:
- Comprueba que el agente SSH se está ejecutando o inícialo mediante el siguiente comando:
$ eval "$(ssh-agent -s)"
Deberías obtener el PID del proceso como salida del comando:
> Agent pid 68224
- Luego agrega la clave SSH al agente SSH mediante el siguiente comando:
$ ssh-add ~/.ssh/id_ed25519
Si has usado un nombre diferente a
ed25519
, debes reemplazar el nombre de la clave en el comando anterior.
Con esto ya hemos terminado. Ahora ya solo tendrás que agregar la clave a tu cuenta de GitHub para poder usarla.
Cómo agregar una clave SSH a tu cuenta de GitHub
Para agregar la clave SSH que has creado a tu cuenta de GitHub debes seguir los pasos que ves a continuación:
- Lo primero que debes hacer es copiar la clave SSH, que encontrarás el directorio
~/.ssh/id_ed25519.pub
si es que has usado el nombreed25519
para la clave. Si tienes instalada la utilidad clip usa el siguiente comando para copiar la clave:$ clip < ~/.ssh/id_ed25519.pub
Si no tienes instalada la utilidad clip, abre el archivo que contiene la clave con cualquier editor y cópiala. En el siguiente ejemplo usamos el editor nano:
nano ~/.ssh/id_ed25519.pub
- Seguidamente, accede a tu cuenta de GitHub mediante tu navegador y accede a la configuración de tu cuenta haciendo clic en la foto de perfil de la parte superior derecha del menú y luego en Configuración (Settings).
- Haz clic en la opción Claves SSH y GPC (SSH and GPC keys) que verás en la sección Acceso (Access) del menú de la izquierda.
- Haz clic en Nueva clave SSH (New SSH Key) e introduce un nombre para la clave en el campo Título (Title). Luego pega la clave SSH que has copiado anteriormente en el campo Key, dejando seleccionada la opción Key type.
- Finalmente haz clic en el botón Agregar clave SSH (Add SSH key). Si se te solicita la contraseña de tu cuenta, introdúcela.
Con esto ya habrás agregado la contraseña que has generado a tu cuenta de GitHub.
Esto ha sido todo.