You don't have access to this class

Keep learning! Join and start boosting your career

Aprovecha el precio especial y haz tu profesión a prueba de IA

Antes: $249

Currency
$209
Suscríbete

Termina en:

0 Días
6 Hrs
46 Min
3 Seg

Vincular la llave SSH

15/17
Resources

Contributions 58

Questions 39

Sort by:

Want to see more contributions, questions and answers from the community?

Apuntes

Vamos a utilizar el SSH Keygen. Sustituímos nuestro correo en el comando.

~$ ssh-keygen -t ed25519 -C "[email protected]"

.
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 🔐

 

  • Para vincular la llave SSH se debe escribir:
     
    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" 

 

  • Dar ENTER, luego se le da ENTER de nuevo, pregunta por una palabra clave que se ingresa 2 veces (no olvidar).
     
  • Validar que el agente SSH está corriendo:
eval "$(ssh-agent -s)"

 

    • El agente ssh 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í).
       
    • Al ejecutar todo el comando de eval en la terminal, debe salir: Agent pid 7550 que indica que el agente se está ejeutando.
       
  • Agregar la llave al agente SSH:
ssh-add ∼/.ssh/id_ed25519

 

    • Nota: para escribir la virgulilla ~ presionar las teclas Alt Gr + 4 y la barra espaciadora y listo.
       
  • Vincular con GitHub:
     
    • En la terminal vamos imprimir el contenido de la llave pública y luego la copiamos:
cat ~/.ssh/id_ed25519.pub 

 

  • Ir a la página de GitHub, iniciar sesión, luego bucar en la esquina superior derecha: 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.

 

Para teclear la "viborilla"
pueden presionar alt + 126
~

Parece que la persona encargada de la censura no lo hizo también , ya que pude ver el correo y la llave xd

3.2 Vincular la llave SSH:

ssh-keygen -t ed25519 -C “[email protected]” (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

Para escribir la virgulilla (~) en Windows:

Mantener apretado ALT y escribir 126

las llaves ssh funcionan a traves de la criptografia para brindar seguridad, es muy interesante:

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.

¿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

  • Abrir la terminal y dirigirse al home de nuestro PC, ya que ahí quedarán guardadas las llaves.
    .
  • Escribir el siguiente comando ssh-keygen -t ed25519 -C[email protected]” 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.
    .
  • Cuando se le pida “Introducir un archivo en el que guardar la clave”, puede pulsar Intro para aceptar la ubicación predeterminada del archivo. Tenga en cuenta que, si ha creado claves SSH anteriormente, ssh-keygen puede pedirle que reescriba otra clave, en cuyo caso le recomendamos que cree una clave SSH con nombre personalizado. Para ello, escriba la ubicación predeterminada del archivo y sustituya id_ssh_keyname por el nombre personalizado de su clave.
    .
  • Luego se solicitará una frase de contraseña segura “passphrase” como seguridad adicional. Esto es opcional y se puede omitir oprimiendo enter.
    .

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.

  • Verificar que el ssh-agent esté ejecutándose eval "$(ssh-agent -s)"
  • Agregar nuestra llave privada SSH ssh-add ~/.ssh/id_ed25519

.

Agregar una nueva llave SSH a nuestra cuenta de GitHub


  • Copia el contenido de tu llave publica SSH al portapapeles. Para eso, debes ir a la ubicación de tus llaves ~/.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.
    .
  • En GitHub, ve a la esquina superior derecha, da clic en tu imagen de perfil y luego haz clic en Configuraciones.
    .
  • En la sección “Acceso” de la barra lateral, haz clic en llaves SSH y GPG.
    .
  • Haz clic en Nueva clave SSH o en Añadir clave SSH.
    .
  • En el campo “Título”, añade una etiqueta descriptiva para la nueva clave. Por ejemplo, si utilizas un portátil personal, puedes llamar a esta clave “Portátil personal”. Selecciona el tipo de clave, ya sea de autenticación o de firma. En el campo “Clave”, pega tu clave pública. Haz clic en Añadir clave SSH.
    .
  • Si se te solicita, confirma el acceso a tu cuenta en GitHub.

Creo que es el momento perfecto para regresar a ver el curso de git y github.

me toco volver al curso, tuve problemas con mi llave, que bueno que lo actualizaron XD

~ virgulilla alt+126

RESUMEN de pasos para crear la llave SSH:

  1. Ejecutar
ssh-keygen -t ed25519 -C "tu_coreo@tu_mail.com"

Pedira una passphrase que debes saber de memoria

  1. Iniciar el agente de ssh
eval "$(ssh-agent -s)"
  1. Agregar la llave al agente SSH
ssh-add~/.ssh/id_ed25519

pedirá la passphrase

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![](https://static.platzi.com/media/user_upload/image-511b549f-9385-48ba-b895-1d08d5a77968.jpg)
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.

Para vincular una llave SSH en tu sistema, sigue estos pasos:

  • Genera una nueva llave SSH (si no tienes una): Si no tienes una llave SSH, puedes generar una utilizando el siguiente comando en tu terminal:
ssh-keygen -t rsa -b 4096 -C "[email protected]"
  • Este comando generará una nueva llave SSH RSA de 4096 bits. Asegúrate de reemplazar “[email protected]” con tu dirección de correo electrónico.

  • Copia tu clave pública: Una vez que hayas generado tu llave SSH, puedes copiar la clave pública al portapapeles utilizando el siguiente comando:

En Linux o macOS:

pbcopy < ~/.ssh/id_rsa.pub

  • En Windows (con Git Bash):
cat ~/.ssh/id_rsa.pub | clip

oigan miren nose prq no me sale cuando pongo el ssh-agent prq me sale solo el signo > porfa diganme como arreglarlo :(
* la virgulilla no me funciona me aparecen estos signos ^^ no se porque :(
El error "No such file or directory" indica que la ruta especificada no es válida o no existe. Asegúrate de que la llave SSH fue generada correctamente y que el nombre del archivo sea el correcto. En tu caso, verifica si el archivo es `id_ed25519.pub` en lugar de `id_ed25519` o si se encuentra en la carpeta `~/.ssh/`. Puedes listar los archivos en el directorio usando el comando `ls ~/.ssh/` para confirmarlo. Si el archivo no está, deberás regenerar la llave SSH siguiendo el procedimiento del curso.
SSH (Secure Shell) es un protocolo de red que permite el acceso seguro a través de una red no segura. Proporciona autenticación y encriptación para proteger la comunicación entre dispositivos. Se utiliza comúnmente para conectarse a servidores y gestionar sistemas de forma remota. Un agente SSH es un programa que almacena las claves privadas SSH en memoria. Permite a los usuarios usar sus claves sin tener que ingresar la frase de paso cada vez que se conectan a un servidor. Facilita la autenticación de manera más cómoda y segura durante las sesiones SSH.
Me presenta este error, segun veo es un tema de seguridad: carlosah@LAPTOP-QRM16RC4:~$ ssh-add ~/.ssh/id\_ed25519.pub @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ @ WARNING: UNPROTECTED PRIVATE KEY FILE! @ @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ Permissions 0644 for '/home/carlosah/.ssh/id\_ed25519.pub' are too open. It is required that your private key files are NOT accessible by others. This private key will be ignored. busque en internet para solucionarlo. Inserte este comando: `$sudo chmod 700 ~/.ssh` Hizo un "inicio de sesion" por que me solicito la contraseña, mas no la frase. realice el mismo proces desde: eval "$(... realizo el ingreso de la llave pero me dice que el acceso es denegado. que hago?![]()
Para los caracteres como el ~ o el @ como en mi caso tengo un teclado 60% simplemente pongo en un bloc de notas el ~ o el @, lo copio y le pegó en el cmd con el clic derecho.
Alguien puede ayudarme aqui me sale esto
tengo un problema creo que le puse nombre a la la llave y ahora no encuentra la llave . como puedo solucionarlo?![](https://static.platzi.com/media/user_upload/Captura%20de%20pantalla%202024-07-17%20105314-69cf84c9-f8c8-4f72-8b22-14e159ebfe51.jpg)
![](https://static.platzi.com/media/user_upload/Captura%20de%20pantalla%202024-06-13%20212801-16a23707-1943-43c7-bf41-7dee68550980.jpg) alguien me puede ayudar, me salió el error al agregar la llave al agente.
quisiera saber si es posible hacer eso en power shell ? que cambia ? por que lo intente hacer y cuando le doy ssh-add me dice que archivo no existe entoces no se si algo debe cambiar..
![]()!Necesito ayuda! me aparece esto al momento de poner la "passphrase" y estoy poniéndola bien pero ahora no se que hacer o como recuperarla o volver a comenzar que me recomiendan y como puedo hacerlo![](https://static.platzi.com/media/user_upload/Captura%20de%20pantalla%202024-05-11%20113510-86610ea6-7090-4682-aae7-25feee7616a6.jpg)
!Necesito ayuda! me aparece esto al momento de poner la "passphrase" y estoy poniéndola bien pero ahora no se que hacer o como recuperarla o volver a comenzar que me recomiendan y como puedo hacerlo
Este video se grabó en mi cumpleaños
the key's randomart image is: "Este te lo tienes que saber de memoria" Ansiedad por no recordar tanto simbolo y su orden jajajja
Se ve tu correo pipipi :D
Hola buenas, despues de crear la llave ssh y de poner la passphrase puse mal el comando eval "$(ssh-agent -s)" y no se como volver a ponerlo o si tengo que empezar de nuevo, me quedo asi alguien sabe como lo soluciono? ![](https://static.platzi.com/media/user_upload/que%20hice-a62ed27f-2100-42d8-8655-da52574c8157.jpg)
hola profesor tengo un problema cuando coloco para ver la llave publica me sale : no such file or directory, estoy haciendo los pasos tal cual y nada que logro ver la llave publica como haria en ese caso
aquí un usuario que instalaba el Keygen para tener office pirata.
### **Creación de llave SSH** Una herramienta que nos permitirá acceder a GitHub de forma segura y sin necesidad de usar usuario y contraseña cada vez. #### **Ventajas de las llaves SSH** * Acceso seguro a GitHub. * Subir información y modificar código de forma segura. * Utiliza encriptación para proteger la comunicación. #### **Alternativas a las llaves SSH** * Llaves físicas como Yubikey ofrecen otra opción. * Sin embargo, el riesgo de pérdida es mayor. #### **Procedimiento** 1. **Generación de llave SSH**: Utilizaremos el comando ssh-keygen en nuestra terminal. ssh-keygen -t ed25519 -C "direcciondeemail" * ed25519 es el algoritmo de encriptación. * Se guardará en nuestro directorio por defecto. **Inicialización del agente SSH**: Iniciamos el agente SSH con el comando:eval "$(ssh-agent -s)" * Muestra el process id del agente. **Agregación de la llave al agente SSH**:bash ssh-add ~/.ssh/id\_ed25519 1. * Ingresamos la contraseña cuando se nos solicite. * Verificamos el mensaje "identidad agregada". 2. **Configuración en GitHub**: * Abrimos GitHub en el navegador y vamos a Settings > SSH and GPG keys > New SSH key. * Ingresamos un título descriptivo y pegamos la llave SSH pública. * Hacemos clic en "Add SSH key".
¡Hola! Si alguno es medio rarito, cómo yo y lo quiero intentar hacer en la Powershell, le dejo la guía de Microsoft para hacerlo, es bastante fácil, y es similar, los comandos son distintos, pero se sigue mas o menos los mismos pasos: [Key-based authentication in OpenSSH for Windows | Microsoft Learn](https://learn.microsoft.com/en-us/windows-server/administration/openssh/openssh_keymanagement)
![]()![](<"C:\Users\notte\OneDrive - universidadean.edu.co\Escritorio\Platzi\CursoPrework\Captura de pantalla 2024-01-22 225926.png">)Buenas noches compañeros, Una consulta a alguno le ha pasado que no deja escribir la frase o palabra cuando la solicita? En mi caso no me permite escribir y le doy enter pero me devuelve de nuevo. Quedo atenta si quizá alguno me puede brindar una posible solución.![](<C:\Users\notte\OneDrive - universidadean.edu.co\Escritorio\Platzi\CursoPrework\Captura de pantalla 2024-01-22 225926.png>)
Hola a todos. Tengo una llave YubiKey NFC y quería saber cómo configurarla a semejanza de lo explicado por el instructor en esta clase. Apreciaría si alguien puede hacer este valioso aporte en los comentarios para mejorar la seguridad de la conexión con GitHub. Gracias...
hola, platzinautas, recuerden que antes de hacer estos pasos que menciona el profe Ricardo Celis en el video, especialmente si es la primera vez que instalan Git, es recomendable configurar globalmente su nombre de usuario y correo electrónico en Git con los siguientes comandos: ```js git config --global user.name "su nombre de usuario, e.g., Alfonso" git config --global user.email "su dirección de correo electrónico, e.g., [email protected]" ```
Buenas a todos que me recomiendan hacer primero el curso de terminal o el de Git y GitHub?

Instalando Git
ChatGPT
Para instalar Git en tu sistema, sigue los pasos adecuados según tu sistema operativo:

Para sistemas operativos basados en Unix (como Linux y macOS):
Linux:

En sistemas basados en Debian/Ubuntu, usa el siguiente comando:

sudo apt-get update
sudo apt-get install git

En sistemas basados en Red Hat/Fedora, usa el siguiente comando:

sudo yum install git

Buen día Ingeniero, tengo este problema que puedo hacer ya busque y ya ejecute la configuración para quitar el error pero no funciona ![](https://static.platzi.com/media/user_upload/image-f680f5be-2e33-4219-afc7-90a978291381.jpg)
¡La llave SSH se afila con el @email que tienes en tu GIT HUB yo tuve que renombrarla porque use otro email!
la terminar de mi ubuntu virtual box no inicia

.

Clase 15 - Vincular la llave SSH


Repaso de la clase

¿Qué es una llave SSH?

  • Es una llave que nos permite conectarnos de manera segura y sin necesidad de escribir nuestra contraseña a GitHub.

¿Cómo se llama la versión física de una llave SSH?

  • La YubiKey.

¿Cuáles son los pasos que debemos de seguir para crear nuestra llave SSH y conectarla con GitHub?

  • Creamos nuestra llave SSH con el comando:
ssh-key -t -ed25519 -C “tu-correo-electrónico”
  • Debemos de tener en cuenta que el correo que escribamos en este comando debe ser el mismo de la cuenta de GitHub.
  • Damos enter para dejar la ruta recomendada por Linux para almacenar nuestra llave SSH.
    Agregamos una contraseña para darle más seguridad a nuestra llave SSH (opcional).
  • Activamos el agente SSH con el comando
eval “$(ssh-agent -s)”
  • Agregamos nuestra llave SSH al agente SSH con el comando
ssh-add ~.ssh/id_ed25519
  • Buscamos en la carpeta .ssh el archivo con extensión .pub y copiamos su contenido.
    • Para copiar el contenido de la llave podemos hacerlo con el comando:
cat ~/-ssh/id_ed25519.pub
  • Nos dirigimos a GitHub.
  • Dentro de nuestro perfil nos dirigimos al menú desplegable y damos click en la opción Settings.
  • Una vez en Settings buscamos en el menú lateral la categoría Acces y en ella damos click en la opción SSH and GPG Keys.
  • En esta ventana damos clic en el botón New SSH Key.
  • Agregamos un título descriptivo y pegamos el contenido de la llave SSH
  • Click en el botón Add SSH Key

Utilizamos como tipo de algoritmo de encriptación el ed25519 ya que está basado en la utilización de curvas elipticas, por lo que se considera más serguo y eficiente que RSA y DSA

########Creación de llave SSH para github
Nos ayuda a conectarnos de forma segura a Github sin usuario y contraseña

  1. Crear la llave SSH
    ssh-keygen -t ed25519 -C tu email – Crear clave SSH
    frase / clave : xxx
    eval “$(ssh-agent -s)” — Levantar el agente de SSH.
    ssh-add ~/.ssh/id_ed25519 --Agregamos nuestra llave al agente ssh / después de la virgulilla la ruta se obtuvo cuando se creó la llave.
  2. Agregar la llave a Github
    Vamos abrir el archivo que contiene nuestra llave publica.
    cat ~/.ssh/id_ed25519.pub – Cat sirve para visualizar lo que está adentro de un archivo.
  3. Ingresamos a Settings en Github / SSH and GPG keys, agremamos una descripción y pegamos la llave.

Sé que muchas veces se siente frustrante no encontrar la solución, después de 2 horas buscando tutoriales, encontré uno para crear llaves públicas y privadas, espero que les sirva.

Sería bueno que antes de agregar el correo al ssh se dijera que debía ser el del Github, porque lo dijeron ya creado y depronto alguien pudo hacerlo mal.

Algunos comandos útiles mencionados en la clase:
-sudo apt update: actualizar software
-sudo apt install software-properties-common: actualizar software
-Agregar repositorios en Linux (los repositorios son en donde Ubuntu se conecta cada vez que se hace un update): sudo add-apt-repository ppa:deadsnakes/ppa
-Instalar Python: sudo apt install python3.8
-Para ver la versión de Python: python3 --version
-exit(): para salirte del intérprete de Python.
-sudo apt-get install git-all: instalar git en ubuntu

gracias profe me salvaste la vida en el trabajo

Uso de llaves SSH para autenticación en GitHub

  • Las llaves SSH permiten acceder de forma segura a GitHub sin necesidad de ingresar usuario y contraseña cada vez.
  • Una llave SSH es una llave pública y privada que se utiliza para autenticarse en GitHub y realizar operaciones seguras.
  • Se recomienda el uso de llaves SSH para mayor seguridad y comodidad en el inicio de sesión.
  • Existen otras formas de autenticación, como las llaves físicas como YubiKey, que se pueden usar para iniciar sesión en varios lugares, pero existe el riesgo de perderlas.

Otra vez configurando la llave, es muy importante esta clase

Excelente Gracias!!!

Vincular la llave SSH:

ssh-keygen -t ed25519 -C “email@email.com” 

(email vinculado con git)

asignar una palabra clave que puedas recordar

eval "$(ssh-agent -s)"
ssh-add ~/.ssh/id_ed25519
cat ~/.ssh/id_ed25519.pub

RESUMEN de pasos para crear la llave SSH:

  1. Para generar la llave, ejecutar
ssh-keygen -t ed25519 -C "tu_coreo@tu_mail.com"

Pedira ingresar una passphrase que DEBES memorizar

  1. Iniciar el agente de ssh
eval "$(ssh-agent -s)"
  1. Agregar la llave al agente SSH
ssh-add ~/.ssh/id_ed25519

dar ‘enter’ y luego pedirá la passphrase

  1. Imprimir la Llave
cat ~/.ssh/id_ed25519.pub
Después de seguir las instrucciones, Github me está indicando esto ![](https://static.platzi.com/media/user_upload/image-f39fd46d-1838-4682-89a5-b06768b677fd.jpg)