Patricia Mago
Eduardo Ortiz
Muchas gracias! :)
Jesus Cuadro
Gracias
Configurar una llave SSH es el paso que separa a quien escribe contraseñas todo el tiempo de quien trabaja con GitHub de forma segura y fluida. Aquí aprendes a generarla en Ubuntu, registrarla en tu agente SSH y vincularla a tu cuenta de GitHub para empezar a subir código sin fricción.
¿Qué es una llave SSH y por qué la necesitas en GitHub?
Una llave SSH es un mecanismo de autenticación basado en encriptación que reemplaza el flujo tradicional de usuario y contraseña. En lugar de escribir credenciales cada vez que te conectas, tu sistema y GitHub intercambian una llave criptográfica que valida tu identidad de forma automática y segura.
Piénsalo así: tu computadora guarda una parte privada y GitHub guarda la parte pública. Cuando ambas se reconocen, el acceso se concede sin contraseñas adicionales. Existen alternativas físicas como las YubiKey, prácticas porque sirven para iniciar sesión en servicios como Gmail, pero con la desventaja de que si las pierdes, las pierdes. La llave SSH vive en tu sistema y la respaldas tú.
¿Qué es una llave SSH? Es un par de claves criptográficas (una pública y una privada) que te permite autenticarte en servicios como GitHub sin escribir contraseña cada vez. La privada se queda en tu equipo, la pública se sube al servicio.
¿Cómo generar una llave SSH con ssh-keygen en Ubuntu?
El proceso arranca en la terminal con una utilidad que ya viene instalada en Ubuntu: ssh-keygen [01:30]. No necesitas instalar nada extra.
El comando que vas a usar es:
bash ssh-keygen -t ed25519 -C "tu-correo@ejemplo.com"
Aquí hay tres detalles que debes cuidar:
-C debe ir en mayúscula. Si la escribes en minúscula, la terminal responde con too many arguments.ed25519 es el método de encriptación que protege tu llave.Al ejecutarlo, la terminal te pregunta dónde quieres guardar el archivo. Presiona enter para aceptar la ruta por defecto, normalmente ~/.ssh/id_ed25519. Después te pide una passphrase, una frase contraseña que protege tu llave privada. Escríbela, repítela y memorízala bien, porque la vas a necesitar después.
¿Cómo inicializar el agente SSH y agregar tu llave?
Generar la llave no basta. Necesitas que el agente SSH la reconozca y la mantenga activa durante tu sesión. Para arrancar el agente:
bash eval "$(ssh-agent -s)"
La terminal responde con un process ID, lo que confirma que el agente está corriendo [04:10]. Ahora agregas tu llave con:
bash ssh-add ~/.ssh/id_ed25519
Te pedirá la passphrase que definiste antes. Cuando la escribas correctamente, verás un mensaje de identidad agregada con tu correo. Listo, tu sistema ya tiene la llave activa.
¿Para qué sirve el ssh-agent? Es un proceso en segundo plano que guarda tus llaves SSH desbloqueadas durante la sesión, así no tienes que escribir la passphrase cada vez que te conectas a un repositorio.
¿Cómo vincular tu llave SSH pública a tu cuenta de GitHub?
Falta el paso que conecta tu computadora con GitHub: registrar la parte pública de la llave en tu cuenta. Para verla en pantalla y copiarla, usa el comando cat:
bash cat ~/.ssh/id_ed25519.pub
El archivo .pub contiene tu llave pública, la única que debes compartir. Cópiala con precisión, sin agregar espacios ni saltos de línea extra [06:45].
¿Dónde se pega la llave SSH en GitHub?
Con la llave copiada, ve a GitHub y sigue esta ruta:
GitHub mostrará la llave con la nota de que nunca se ha usado, pero eso es normal: se actualizará la primera vez que la utilices para conectarte. Si tu cuenta aún no existe, regístrate en sign up con un correo válido, una contraseña segura (números, mayúsculas, símbolos) y un username propio antes de continuar.
Habilidades y conceptos clave que practicaste
Este flujo deja varios aprendizajes técnicos listos para tu día a día como desarrollador o desarrolladora:
Con tu llave configurada en ambos lados, ya puedes empezar a subir código a GitHub sin contraseñas y sin fricción. Si quieres profundizar en cómo funciona la criptografía detrás de SSH y todo el flujo de Git, el siguiente paso natural es seguir con el curso de Git y GitHub. ¿Te animas a contar en los comentarios qué nombre le pusiste a tu llave?
Patricia Mago
Eduardo Ortiz
Muchas gracias! :)
Jesus Cuadro
Gracias
Maria Gabriela Rodriguez Cuevas
Paola Brito Sanchez
buenas podrias decirme a partir de que parte se copia la llave para ponerla en github es decir,desde donde empiezo y donde termino porque puse desde SHA256 HSTA EL FINAL incluido el agent pid y no me lo guardo
Eric López
Gracias por el aporte...
Vladimir Garcia Quintana
Para teclear la "viborilla" pueden presionar alt + 126 ~
Eduardo Monzón
buen dato
Diana Carolina Moncada Bohórquez
Se llama virgulilla
En este caso cada símbolo representa una cosa diferente:
~: Es equivalente a utilizar /home/{usuario}, por ejemplo, si tu usuario en linux se llama yitana, en lugar de hacer cd /home/yitana para moverte al home de tu usuario puedes usar cd ~.
/: Es un separador de las carpetas / archivos en la ruta
.: El punto en este caso no va separado, hace parte de la carpeta .ssh, la carpeta empieza con un punto porque es una carpeta ocultam
En resúmen, con ~/ accedes a la carpeta Home de tu usuario de Linux, luego continúas la ruta a la carpeta .ssh y finalmente accedes al archivo id_ed25519. Espero te sirva.
Johan Arango
Parece que la persona encargada de la censura no lo hizo también , ya que pude ver el correo y la llave xd
Anuar Manuel Monterrosa Bedoya
3.2 Vincular la llave SSH:
ssh-keygen -t ed25519 -C "email@email.com" (email vinculado con git) enter asignar una palabra clave que puedas recordar
eval "$(ssh-agent -s)" ssh-add ~/.ssh/id_ed25519 ingresamos la palabra clave ingresada anteriormente
ahora agregamos la llave a la cuenta de github 3.2.1 miramos en al terminal cual es la llave publica:
cat ~/.ssh/id_ed25519.pub copier toda la llave publica (cuidado con incluir espacios en blanco)
3.2.2 en la pagina de github buscamos perfil/configuraciones/SSH and GPG Keys/new SSH keys darle un titulo a la llave y pergar la llave publica en el campo key y luego add SSH Key
Eduardo Monzón
Gracias.
David Antonio Morales Barrera
Para escribir la virgulilla (~) en Windows:
Mantener apretado ALT y escribir 126
Manuela Gomez
Peter Rivera Morales
te falto un punto al principio de .ssh al que dice cat ~/.ssh/id_ed25519.pub
espero aberte ayudado
Marcos Monteverde
las llaves ssh funcionan a traves de la criptografia para brindar seguridad, es muy interesante: @youtube
Jafet Brito
Gracias por el aporte.
Danny Estrada
Les voy a explicar que signifca cada uno de esos parámetros en ese comando:
ssh-keygen: Este es el comando principal que utilizamos para generar claves SSH en la terminal. Es una herramienta estándar que viene con el software SSH y se utiliza para varias tareas relacionadas con las claves SSH, como la generación, administración y conversión de claves.
-t ed25519: Esta opción especifica el tipo de algoritmo de clave que deseas utilizar. En este caso, estamos utilizando el algoritmo de clave Ed25519. Este algoritmo es una alternativa moderna y más segura al algoritmo RSA, con claves más cortas y un rendimiento mejorado.
-C: Esta opción especifica un comentario que se agrega a la clave para ayudarte a identificarla en el futuro. Por lo general, se utiliza para proporcionar una dirección de correo electrónico o algún otro identificador. En tu ejemplo, no se proporciona ningún comentario después de -C, lo que significa que no se agregará ningún comentario a la clave.
En resumen, el comando ssh-keygen -t ed25519 -C se utiliza para generar un par de claves SSH utilizando el algoritmo Ed25519, sin proporcionar un comentario para la clave. Después de ejecutar este comando, se te pedirá que elijas la ubicación y el nombre del archivo para guardar la clave, y luego se te pedirá que ingreses una frase de contraseña opcional para proteger tu clave privada.
Luis Castro
¿Qué es una SSH?
SSH (Secure Shell) es un protocolo de red que permite a los usuarios conectarse y administrar remotamente dispositivos y servidores. SSH utiliza técnicas de cifrado para asegurar que las comunicaciones entre el cliente y el servidor sean seguras. . Para autenticarse con un servidor SSH, es común utilizar un par de claves criptográficas pública-privada (SSH keys). Estas claves son generadas por el usuario y el servidor, y permiten una autenticación segura sin necesidad de ingresar contraseñas cada vez que se conecta al servidor. .
Generar una nueva SSH key
ssh-keygen -t ed25519 -C "your_email@example.com" Esto creará una nueva llave pública “id_ed25519.pub” y una llave privada “id_ed25519” en el directorio “~/.ssh”, utilizando el correo electrónico proporcionado como etiqueta.
.Agregar la llave SSH al ssh-agent
Antes de añadir una nueva clave SSH al ssh-agent para gestionar sus claves, debería haber comprobado las claves SSH existentes y haber generado una nueva clave SSH.
eval "$(ssh-agent -s)"ssh-add ~/.ssh/id_ed25519.
Agregar una nueva llave SSH a nuestra cuenta de GitHub
~/.ssh/id_ed25519.pub y abrir el archivo .pub con el bloc de notas. También puedes ver la llave pública en la terminal mediante el comando cat ~/.ssh/id_ed25519.pub.
.Jafet Brito
Creo que es el momento perfecto para regresar a ver el curso de git y github.
Nicolas Alpargatero
me toco volver al curso, tuve problemas con mi llave, que bueno que lo actualizaron XD
Pablo Quevedo
~ virgulilla alt+126
David Antonio Morales Barrera
RESUMEN de pasos para crear la llave SSH:
ssh-keygen -t ed25519 -C "tu_coreo@tu_mail.com"
Pedira una passphrase que debes saber de memoria
eval "$(ssh-agent -s)"
ssh-add~/.ssh/id_ed25519
pedirá la passphrase
Mauricio Montañez
Sobre el error : "No such file or directory"
Les comparto lo que creo que me funciono y explico linea por linea de la imagen que anexo:
ERNESTO ALONSO CARDONA ALZATE
Buenas tardes profesot, no he podido continuar porque aun no llega el correode confitmación de github, quería hacerle una pregunta, todo lo he se ha reailizado y lo que se va a hacer en desarrollo de software se puede hacer con el sistema operativo mini os 10 u 11?
Juan Ramon Sanchez
hola como están?, tengo una consulta, yo ya había creado una llave ssh con git bash en el curso de git y github, habria problemas si creo otra en con ubuntu?
SEBASTIAN SALAZAR
solamente es consultar la ya creada
Eddie Andree Enmanuel Romero Castellanos
Me sale este error, lamentablemente este profesor se salta un Monton de pasos y omite muchas cosas, muy malo para enseñar. la llave fue creada como publica pero aun asi sale este error, a ver tutoriales en youtube
Luis Tapia
Ojo que el string donde se sugiere colocar el correo solo sirve como un identificador o "nombre" para la llave. Se puede colocar cualquier texto y funcionará igual. Yo preferiría algo que no sea el email ya que esto es una información privada.
Apuntes
Vamos a utilizar el SSH Keygen. Sustituímos nuestro correo en el comando.
~$ ssh-keygen -t ed25519 -C "tucorreo@mail.com"
. Inicializar Agente de SSH:
eval "$(ssh-agent -s)"
. Agregar nuestra Llave a nuestro Agente de SSH:
ssh-add ~/.ssh/id_ed25519
. Comando para imprimir nuestra llave:
cat ~/.ssh/id_ed25519.pub
🗝 Clase #: Vincular la llave SSH 15/17 🗝
Llave SSH 🔑
Cuando se configura la clave SSH con GitHub, ya no es necesario autenticarse introduciendo el correo y contraseña en la terminal cada vez que se hace un commit.
Pasos para vincular la llave SSH 🔐
ssh en minúscula,
◦ luego la palabra keygen que es una utilidad que viene por defecto en la terminal de Ubuntu y genera la llave ssh,
◦ el comando ed25519 es el algoritmo de encriptación que permite generar claves SSH en máquinas virtuales,
◦ el -C debe estar en mayúscula,
◦ el correo debe ser el que tienes registrado en tu cuenta de GitHub, importante tu correo debe ir entre comillas "":ssh-keygen -t ed25519 -C "email_de_GitHub"
ENTER, luego se le da ENTER de nuevo, pregunta por una ++palabra clave++ que se ingresa 2 veces (no olvidar).
eval "$(ssh-agent -s)"
ssh-agent es un programa auxiliar que realiza un seguimiento de las claves de identidad del usuario y sus frases de contraseña (fuente: aquí).
eval en la terminal, debe salir: Agent pid 7550 que indica que el agente se está ejeutando.
ssh-add ∼/.ssh/id_ed25519
~ presionar las teclas Alt Gr + 4 y la barra espaciadora y listo.
cat ~/.ssh/id_ed25519.pub
Profile > Settings > SSH and GPG keys > New SSh key pegar toda la llave y colocarle un título. Se la da en el botón verde: Add SSH key.