Hola,
a lo mejor por el blur no se ve pero falta el “-c”
ssh-keygen -t rsa -b 4096 -C "email de github"
Herramientas para la web
¡Tenemos una nueva versión de este curso!
Qué es un navegador web
Qué aprenderás para configurar tu entorno de desarrollo en Windows
Instalando Firefox, Chrome y usando sus DevTools
Editor de texto
Editor de texto: instalando el tuyo
Extensiones y personalización de Visual Studio Code
Cómo usar Live Server en proyectos reales de HTML y CSS
Linux dentro de Windows
¿Qué es Windows Subsystem for Linux?
Instalación de Windows Subsystem for Linux
Configuración de Ubuntu en WSL
Instalación de VirtualBox
Instalando Ubuntu en una máquina virtual
Comandos básicos de la terminal e instalación de Node.js
Cómo configurar tu primer proyecto en React.js
Git y Github
Instalando Git
Vinculando nuestra llave SSH en Github
Subiendo nuestro primer repositorio
¿Qué es lo que sigue?
No tienes acceso a esta clase
¡Continúa aprendiendo! Únete y comienza a potenciar tu carrera
Aportes 346
Preguntas 334
Hola,
a lo mejor por el blur no se ve pero falta el “-c”
ssh-keygen -t rsa -b 4096 -C "email de github"
Hay un pequeño error en esta clase con respecto al comando ssh-copy-id
.
El comando ssh-copy-id
sirve para copiar la llave pública y asignarla como una llave autorizada en otro servidor remoto. Lo cual nos permite acceso al servidor sin tener que usar la contraseña.
En la clase se da a entender que el comando sirve como un “Ctrl + C” de la llave. Sin embargo, no es tan simple como eso.
Les recomiendo que omitan esa parte y sigan donde abre y copia la llave manualmente.
Si quieren saber un poco más acerca de cómo funciona el comando ssh-copy-id
, les comparto un poco de documentación.
Un saludo.
ssh-keygen -t rsa -b 4096 -C "tu e-mail"
Hay que agregar un -C en mayúscula.
Aquí comparto mi llave…
ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEAklOUpkD
HrfHY17SbrmTIpNLTGK9Tjom/BWDSUGPl+nafzlHDTY
W7hdI4yZ5ewN U N C A18JH4JW9jbhUFrviQzM7xl
ELEVf4h9lFX5C O M P A R T A SQVkbPppSwg0cd
a3Pbv7kOdJ/MTyT UBlWXFCR+HAo3FXRitBqxiX1
nKhXpHAZsMciLqC L A V E8V6RjsNAQwdsdMF
vSlVK/7XAt3FaoJoAsncO KM1Q9x5+3V0Ww68/eI
Fmb1zuUFljQJKprrX88XypNDvjYNby6vw/Pb0rwert/En
mZ+AW4OZPnTPI89ZPmVMLuayrD2cE86Z/il8b+gw3r
[email protected]
Comando para generar tu llave SSH
ssh-keygen -t rsa -b 4096 [email]
Para evaluar que hay un agente corriendo
eval "$(ssh-agent -s)"
Copiar ID SSH al agente
ssh-copy-id [email]
Copiar llave publica
cd ~/.ssh
cat id_rsa.pub
Ahora solo tienes que dirigirte a https://github.com/settings/keys (Con tu usuario) y agregar la llave copiada anteriormente
Nota: Por seguridad no compartas tus llaves! 🔐
Mi aporte:
Hola a todos dure como 2 horas descifrando el comando para la llave del ssh y aquí van los tips:
ssh-keygen -t rsa -b 4096 -C “Tu correo”
no se porque pasaron por alto todo esto espero ayude a alguien mas.
Si no les funciona el comando “ssh-copy-id your@email”, pueden utilizar este comando, “ssh-add ~/.ssh/id_rsa”…
tanto que el profe oculto su correo en el video para que lo termine mostrando en el minuto 7:01 jajaja
El curso me había parecido muy amigable para quienes empiezan en el mundo de la terminal y programación, pero Ricardo al ocultar su correo deja muchos conflictos en los comandos como el -C (con c Mayúscula) cuando se crea la llave y la forma en la que copia la llave a GitHub es engorrosa. Tuve que devolverme al curso de Freddy para recordar como se hacía. Estos detalles pueden tomar horas de descifrado a muchos.
Recomiendo a platzi que grabe nuevamente esta clase dado que veo muchos errores y lo confirme revisando las pregutnas y aportes
A alguien le ha pasado esto al copiar el ID SSH?
Resumen de Vinculación con github
Verificar versiones de git:
git --version
Update (hacer cada vez que se instale software nuevo):
sudo apt-get update
Instalar git :
sudo apt install git
Vinculando llave ssh:
ssh-keygen -t rsa -b 4096 -C "email de github"
Validar que le agente está corriendo:
eval "$(ssh-agent -s)"
Copiar llave pública:
ssh-copy-id "email de github"
Ingresamos a la carpeta .ssh y abrimos el archivo id_rsa.pub:
cd .ssh
cat id_rsa.pub
(Copiar llave)
Vincular con github
Profile -> setting -> SSH and GPG keys -> New SSh key -> copiar toda la llave y colocarle un nombre
Hola les comparto una idea de lo que son las llaves públicas y privadas
Luego de ejecutar
eval "$(ssh-agent -s)"
Hace falta la siguiente instrucción
ssh-add ~/.ssh/id-rsa
(donde id-rsa es el nombre de la llave) en lugar de hacer ssh-copy-id.
Puedes revisar con más detalle en el tutorial Configurar llaves…
El profesor Celis no es nada cuidadoso al dar las instrucciones y mostrarlas, dado que dejo borroso parte del comando
(ssh-keygen -t rsa -b 4096 **********) y tampoco lo explico.
Gracias a Roger Carlos Ariel Alba por su aporte dejando el comando completo
ssh-keygen -t rsa -b 4096 -C “email de github”
Por si a alguien le pasa la -C es en mayúscula sino no sirve
y recuerden amiguitos al momento de crear la llave lo hacen con ssh-keygen -t rsa -b 4096 -C [email protected]
y recuerden la letra C es en MAYUSCULA… para no pasar un buen rato tratando de ver que pusiste mal jajaajaj experiencia propia
Si no funciona el comando “ssh-copy-id your@email”, pueden utilizar este comando, “ssh-add ~/.ssh/id_rsa”
No importa si arroja algo como esto: No such file or directory
Ustedes oprimen enter y siguen con el código de Celis, ejemplo:
yadirn@ALEX:~$ cat “nombre que le pusieron a la llave cuando la crearon”.pub
ejemplo yadirn@ALEX:~$ cat llavecita.pub
Me funcionó de esa manera
Recuerdo que no entendí mucho o nada de esta clase pero luego cuando estaba viendo la clase 22 del curso de Git y Github (https://platzi.com/clases/1557-git-github/19951-conexion-a-github-con-ssh/) me di cuenta ya había creado una llave SSH 😐.
.
En ese momento aprendí que debo tener fe en el futuro y paciencia en el ahora, ya que puedo estar haciendo cosas que generen huecos de seguridad, posibles hackeos o publicando fotos que ni yo sabía que tenía 🙄 . Tengo fe de que mi yo del futuro los va a solucionar; y paciencia por ese día que tarde o temrpano va a llegar 🙂👍🏽.
si les da el siguiente error:
Pueden usar el siguiente comando:
Buenos dias cuando pongo el comando ssh-copy-id lalsalsla@gmail me sale el siguiente mensaje y queda ahi como esperando otro comando.
a alguien le paso?
/usr/bin/ssh-copy-id: INFO: Source of key(s) to be installed: "/home/radical/.ssh/id_rsa.pub"
slds.
Si a alguno les dio dolores de cabeza el copy-id, yo seguì los pasos directo de github. Desde que les dan “eval” para saber si corre el agente, (si funciona) ponen este comando: cat ~/.ssh/id_rsa.pub
Les va a aparecer la llave que deben copiar en github. Ahora sigan al minuto 6:48 del video “Vinculando nuestra llave SSH en Github”
Les dejo el orden de cada paso actualizado, de acuerdo a la documentación:
ssh-keygen -t ed25519 -C "[email protected]"
eval "$(ssh-agent -s)"
ssh-add ~/.ssh/id_ed25519
cat ~/.ssh/id_ed25519.pub
/usr/bin/ssh-copy-id: ERROR: ssh: connect to host hotmailcl port 22: Connection timed out
a mi me arrojo esto, pero si se generlo el .pub y lo pude colocar en github
realmente no se si funcione, hasta que haga la prueba
🔑 Nunca debemos compartir nuestra llave privada con nadie, si la compartimos por error podemos crear otra.
Llave SSH, es una llave, login, token, que vamos a estar utilizando para poder pasárselo a Github con el fin de subir el código a nuestro repositorio.
Es el código de seguridad con el que vamos a estarnos conectando a Github.
Generar llave SSH
ssh-keygen -t rsa -b 4096 -C "correo@gmail.com"
-t: tipo de algoritmo de encriptación RSA
-b: Cantidad de bits
-C: correo de identificación
Utilizar el SSH Agent, que nos va a ayudar a gestionar nuestras claves.
Añadimos la clave al agente:
eval "$(ssh-agent -s)"
Copiar la llave pública (este paso se puede omitir)
ssh-copy-id [email protected]
Copiar la llave publica para pasarla a Github
cd ~/.ssh
cat id_rsa.pub
Copiamos el contenido del archivo para ingresarlo a Github
Ingresamos la llave SSH en Github
Perfil / Settings / SSH and GRG keys / New SSH Key
Tuve un error en la parte de copiar el id ssh, me salía “network is unreachable”, lo solucioné poniendo este comando:
ssh-add ~/.ssh/id_rsa
Sin añadir el correo y procedí normal con el resto de la clase.
Chicos de platzi, estaria bueno que re graben esta clase ya que es dificil para muchos que recein arrancamos, con toda la buena onda! besos.
Este errorcito del profe me han costado 2 valiosas horas, tomen nota.
ssh-keygen -t rsa -b 4096 -C “email de github entre comillas”
el -C debe ser la C mayuscula y tu correo debe ir entre comillas
Para los que tienen el problema con el comando
ssh-keygen -t rsa -b 4096 -C email de github
NOTA: ciertamente va una C que no se alcanzo a ver en el video pero además esa C ES EN MAYUSCULA de lo contrario no la va a tomar.
esto me estaba pasando me daba error pero era porque la estaba dejando en minúscula.
" ssh-keygen -t rsa -b 4096 -C [email] "
En mi caso el comando es asi:
ssh-keygen -t rsa -b4096 -C “[email protected]”
-b4096 (Van pegados)
-C mayuscula, la tenia en minuscula, sacaba el error por estas dos razones, Gracias por el comentario de ayuda.
pienso se debería usar un usuario demo así podemos ver todo los que recién estamos aprendiendo, as]i como editar los errores del video para no tener que repetirlos y aprender solo la buena práctica
Hola, les dejo una aclaración:
La única llave SSH que no debe ser compartida es la llave privada “id_rsa”. Por el contrario, la que si se puede compartir con cualquiera (y es medio troll porque no serviría de nada) es la llave pública “id_rsa.pub”
Y es por lo siguiente: con la llave pública es como si ustedes o cualquiera con dicha llave encerrara información dentro de un baúl. Sin embargo, la única persona que puede abrir el baúl es quien posee la llave privada.
Esto se verá más a fondo en el curso de git y github, pero es importante que al ser una intro tenga la misma base de un curso avanzado y no difieran las explicaciones sobre las llaves SSH.
Hola!
Esta clase está genial, solo que para los que no sabemos nada nos queda complicado cuando se generan errores y es porque se omitió algo en la explicación.
CONCLUYENDO:
Regresar a la terminal
Crear una llave de tipo SSH la cual es una llave o token que se le estará pasando a GitHub
a. ssh-keygen -t rsa -b 4096 -C “email de github”, en cuanto se ejecute nos indicara la ruta en donde estará almacenando la llave (en mi caso en: (/home/marcoev/.ssh/id_rsa), aceptamosy nos creara la carpeta .ssh
i. las carpetas o archivos que inician con . (punto) en el nombre, en Linux se crean como escondidos
b. posteriormente nos pide una contraseña, la que se indique es importante que no la olvidemos
c. el archivo id_rsa.pub es el que enviaremos a github y es la parte publica, la parte privada es la que mantendremos nosotros y no debemos de compartir
i. The key fingerprint is:
ii. SHA256:***********************
d. Comando para evaluar si tenemos un agente de ssh corriendo
i. eval “$(ssh-agent -s)”
ssh-copy-id “correo”
a. ADVERTENCIA, El estudiante Sneyder Alfonso indica que este paso no es correcto o necesario hacerlo, ya que este comando no funciona como un control + c (copy), yo no lo realice y pude concluir el paso sin problema
Nos cambios a la carpeta de .ssh
a. cd ~/.ssh
mostramos el contenido del archivo id_rsa.pub, seleccionamos y lo copiamos (con el mouse)
a. cat id_rsa.pub
b. Para validar que se haya copiado correctamente, en la línea de comandos damos clic derecho y si se pega, quiere decir que esta bien
Vamos al portal de github, en tu usuario ir a settings>SSH and GPG Keys y damos clic en New SSH Keys
Pegamos el contenido en el campo de key y en title escribimos el nombre de la computadora y clic en Add SSH Key
En el minuto 1.52 se borra una parte importante del comando, la escribo:
ssh-keygen -t rsa -b4096 -C "email de github"
Si les sale Too many arguments es debido a que falta la “C”, en mayúscula, buena vibra
aqui cuando quiero compartir mi llave de git:
lo que se imaginan:
lClE1qtMnsiwyshi1
lo que comparto:
⣿⣿⣿⣿⣿⣿⡇⠀⠉⠛⢿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿ ⣿⣿⣿⣿⣿⣿⣇⠀⠀⠀⠀⠈⠛⢿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡿⠟⠋⠉ ⣿⣿⣿⣿⣿⣿⣿⡄⠀⠀⠀⠀⠀⠀⠈⠻⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡿⠟⠋⠁⠀⠀⠀⠀ ⣿⣿⣿⣿⣿⣿⣿⣿⣆⠀⠀⠀⠀⠀⠀⠀⠘⠉⠉⠉⠉⠉⠉⠀⠉⠉⠉⠁⠀⠀⠀⠀⠀⠀⠀⠀ ⣿⣿⣿⣿⣿⣿⣿⣿⣿⣷⣄⠀⢀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣠ ⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡗⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣤⣾⣿ ⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡟⠀⠀⠀⠠⠲⣄⠀⠀⠀⠀⠀⠀⠀⠀⠀⠔⢦⡀⠀⠀⠀⠀⢻⣿⣿ ⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠁⠀⠀⠀⠸⣾⡿⠀⠀⠀⠀⠀⠀⠀⠀⠈⢷⡿⠃⠀⠀⠀⠀⠀⣿⣿ ⣿⣿⣿⣿⣿⣿⣿⣿⣿⡏⢀⣀⣀⠀⠀⠀⠀⠀⠀⠰⠶⠄⠀⠀⠀⠀⠀⠀⠀⢀⣀⡀⠀⠀⢸⣿ ⣿⣿⣿⣿⣿⣿⣿⣿⣿⠣⣿⣿⣿⡧⠀⠀⠀⠀⠀⠀⣀⣀⣀⠀⠀⠀⠀⠀⢼⣿⣿⣿⡆⠀⠀⣿ ⣿⣿⣿⣿⣿⣿⣿⣿⣿⡄⠙⠛⠛⠁⠀⠀⠀⠀⠀⡃⠀⠀⠀⠃⠀⠀⠀⠀⠈⠻⠿⠟⠁⠀⠀⢸ ⣿⣿⣿⣿⣿⣿⣿⣿⣿⣷⠀⠀⠀⠀⠀⠀⠀⠀⠀⠑⠠⠤⠤⠂⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ ⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣧⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ ⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠃⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
este comando ssh-copy-id. me dio un error al final de la espera, leyendo con este comando me funciono ssh-add ~/.ssh/id_rsa
Hay un error en la parte de ssh-copy-id que dice que no se puede conectar, tienen que usar ssh-add ~/.ssh/id_rsa y continuar con la siguiente instrucción.
Me sale el siguiente mensaje de error
¿Qué es una llave SSH?
¿Cómo podemos crear una llave SSH?
¿Qué significa -t rsa en el comando ssh-keygen -t rsa -b 4096 -C “correo-electrónico”?
¿Qué significa -b 4096 en el comando ssh-keygen -t rsa -b 4096 -C “correo-electrónico”?
¿Qué correo debemos colocar en el comando ssh-keygen -t rsa -b 4096 -C “correo-electrónico”?
¿Cuándo ejecutamos el comando para crear la llave SSH nos brindan la ruta en la que será guardada la llave?
¿Es necesario poner contraseña a la llave SSH para que funcione correctamente?
¿Entre la llave pública y la privada, cuál debemos compartir con GitHub?
¿Cómo podemos asegurarnos que la llave SSH está corriendo bien?
¿Cómo podemos compartir la llave pública SSH con GitHub?
¿Cómo podemos diferenciar la llave pública con la llave privada?
¿Por qué no debemos compartir las llaves públicas y privadas con alguien o alguna plataforma?
Para crear la clave SSH, deben hacer lo siguiente:
sudo ssh-keygen -t rsa -b 4096 -C 'email'
Seguido a esto, se debe corroborar que el agent funcione y el PID cambie constante mente “no tiene que ser estática”.
eval $(ssh-agent -s)
Luego, se debe emplear la siguiente línea.
ssh-copy-id 'email'
Lo siguiente, es ir directamente a la carpeta oculta donde esta el ssh.
cd ~/.ssh
Se visualiza los archivos dentro de la carpeta para corroborar su existencia.
ls
Luego, se debe ‘ver’ la clave publica generada usando la siguiente línea.
cat id_rsa.pub
Finalmente, se copia la clave que se generó.
** por seguridad, la clave generada no debe ser compartida**
Espero que mi aporte les haya sido de utilidad :c de demoré en comprender :,v
Aqui esta mi llave de GitHub
![](
Cambien el comando por este y me funciono :
ssh-add ~/.ssh/id_rsa
Para los que tienen el problema con el comando
ssh-keygen -t rsa -b 4096 -C email de github
NOTA: ciertamente va una C que no se alcanzo a ver en el video pero además esa C ES EN MAYUSCULA de lo contrario no la va a tomar.
esto me estaba pasando me daba error pero era porque la estaba dejando en minúscula.
Todo iba tan bien hasta que en ssh-copy-id y el correo no me lo reconoció me marca error y luego en cd ~/.ssh tampoco la carpeta esta disponible.
el curso va muy rapido, no se aclaran muchos temas, muchas dudas en gran numero de personas, el problema es que es un curso fundamental para continuar el proceso de la escuela y con tantas dudas sin resolver…
Los códigos usados fueron
ssh-keygen -t rsa -b 4096 -C”You Email"
Se presiona enter. Luego pide una contraseña, la agregamos y la confirmamos.
eval "$(ssh-agent -s)"
ssh-copy-id "You Email"
cd ~/.ssh
cat id_rsa.pub
ssh-keygen -t rsa -b 4096 -c “!email de github”
La - C va en mayuscula se van a ahorrar dolores de cabeza y estar buscando tutoriales
deberian o eliminar este curso o actualizarlo, son cosas que ya no se usan y definitivamente no necesitas
Esta clase me costo un ojo, mucho cuidado cuando esten ingresando los comandos.
Si se llegan a atorar en un paso, lean los comentarios de los demas estudiantes, es probable que a alguien le haya pasado lo mismo.
Saludos amixes
para los que necesiten una breve guía después del comando $ ssh-keygen
Una manera de poder tener el ssh si a ustedes tampoco les funcionó el método que nos enseñaron en este video puedes hacerlo de esta manera
<cp -r ~/.ssh /mnt/c/Users/"NombredetuWINUSER"/Desktop/ssh">
Esto lo que hace es copiar todos los archivos que están en la carpeta .ssh que se genera al ejecutamos el comando
< ssh-keygen -t rsa -b 4096 -C "email de github">
y los copia en una carpeta que se crea automáticamente llamada ssh.
Esto fue una manera de como yo lo hice, espero que a ustedes también les funcione.
Adjunto una imagen de como apareceria.
Para quienes ven el curso en marzo de 2023, pueden crear su key siguiendo las siguientes indicaciones: https://docs.github.com/es/authentication/connecting-to-github-with-ssh/generating-a-new-ssh-key-and-adding-it-to-the-ssh-agent
O pueden también checkear el video https://www.youtube.com/watch?v=Y7dwAWOhxJk
En esta clase y clases anteriores surgen muchos problemas, es urgente que actualizen este curso.
Por ejemplo, eh estado teniendo problemas al hacer lo del minuto 6 copiando el id.
MI CARA CUANDO EL PROFE DIJO QUE COMPARTA LA LLAVE PUBLICA EN COMENTARIOS, JAJAJAJA BUENA BROMA.
Jajaja cmamo con eso de compartir tu llave XD
Estas últimas clases han sido más de resistencia y persistencia sobre como solucionar errores de algo que no entiendo bien.
Gracias a todos los comentarios, se logró.
BUENAS NOCHES, he visto un inconveniente que muchos han tenido a la hora de hacer el “(ssh-copy-id [email protected])”
ssh-copy-id [email protected]
y leyendo en la pagina oficial de github, encontre que el protocolo de encriptacion rsa ya no esta siendo admitido desde el 15 demarzo del 2022 (la verdad soy nuevo y no entendi muy bien por que)
pero recomiendan acualizar a ed25519, probe usando este protocolo y puedo seguir los pasos del video sin ningun problema.
les dejo el link de donde saque esta informacion, asi pueden leerlo todos.
espero que les sea de ayuda mi humilde aporte.
Si te sale este mensaje se puede seguir adelante con los pasos. no genera inconveniente alguno.
connect to host gmail .com port 22 network is unreachable
pasé varias horas buscando solución hasta que decidí continuar con los pasos y todo funciona bien.
Aqui te dejo mi llave ssh-rsa AAAAB3NzaC1yc2EAAAADANOCREASQUEQABAAACAQC2G2jm/YAOdgxKDwESCIERTOyqMeGaWdYOZTSXb/mL4WvqUgx6cR2wLMYZiQUP6Mj/RbzbOV+wk5GQLHo5s249qjUzUqNdk0GvkgSEGURIDADANTETODOOw2hmrJVOJui4+h37hnE0SEAGgUbq3IuRqDeYabGTn3zjVsfNm3h4XTEwLXUQjS678WQWXl6tFRzlMx7ctpjRUBC8Bmg0hNXUalPeRJQ== [email protected]
Conectar nuestra terminal con Github
Para esto es necesario generar una clave SSH.
¿Qué significa? Secure SHell - cascarón seguro.
¿Qué es? Es la llave/clave/token con la que GIT te permite subir información a Github.
Ejemplo gráfico: Tú, como persona (GIT) quieres guardar dinero en el banco (Github). Para acceder a tu caja fuerte, tienes que pasar por un guardia de seguridad el cual te va a pedir una clave (SSH). Esta clave comprueba tu identidad y te permite acceso.
Generar clave SSH con el siguiente comando:
ssh-keygen -t rsa -b 4096 -C “emailDeGithub”
Este comando genera una clave pública y una privada en una carpeta oculta llamada .ssh, almacenada por defecto en home/tuUsuario. La clave pública vendría a ser el candado, y la clave privada la llave. Esta clave pública es la que se le da a Github, y la privada es la que la desbloquea.
Puedes ver las mismas utilizando cat clavePublicaOPrivada.
Comando explicado:
ssh-keygen (Generador de clave SSH) Sería “generar una clave ssh pública y privada”
-t (tipo) Especifica el algoritmo de clave, por ejemplo: rsa (Secure Data Transmission) el cual establece un cifrado.
-b Especifica el número de bits de tu clave (cuanto más grande, más seguro). 4096 es la cantidad de bits recomendada.
-C Habilita la compresión de información, supongo que para el envío de datos.
Las opciones (-t , -b , -c) modifican las opciones por defecto. Lo que viene por defecto es: compresión deshabilitada, 2048 bits y otro tipo de algoritmo).
Confirmar que esté corriendo OK el SSH agent
Primero, ¿Qué es el SSH agent? Básicamente es un programa auxiliar que recuerda las contraseñas del usuario y las usa para iniciar sesión en servidores sin que este tenga que ingresarlas. Realiza una especie de login automático.
Ahora, para comprobar que esté funcionando OK, escribir el siguiente comando: eval “$(ssh-agent) -s”
eval significa evaluar
-s Invoca un subsistema en el servidor remoto. Esto da más seguridad a la hora de transportar la contraseña.
Repito: este comando solo confirma que el ssh agent esté corriendo.
Añadir las claves SSH al SSH agent con: ssh-copy-id “email”
Copiar la clave SSH pública:
Nos movemos a la carpeta .ssh con ~/.ssh
Vemos la clave pública con cat clavePublica
Copiamos todo su contenido
Subir la clave SSH pública a Github
Ir a: https://github.com/
Profile > Settings
SSH and GPG keys
New SSH key
Añadir título y llave
SSH: es una clave de acceso que nos permite conectarnos a github.
Clear llave en ubuntu
ssh-keygen: -t rsa -b 4096 -C [email protected]
-t: nos permite escoger el algoritmo de incriptacion
rsa: protocolo de incriptacion
-b: tan grande va a ser nuestra llave
4096:cantidad de bits
y por ultimo nuestro correo con el cual nos registramos en github
eval “$(ssh-agent -s)”: nos permite evaluar si hay un agente corriendo.
ssh-copy-id correoalquevinculamos nuestra cuenta.
Nos permite movernos al directorio donde se encuentra nuestra llave
cd .ssh
**para ver nuestra llave publica **
cat id_rsa.pub
ssh-keygen -t rsa -b 4096 -C "email de git hub"
ojo, si pones la C en minúscula no funciona, debe ir en mayúscula
Jamás imagine todo lo que existe detrás del desarrollo web. Me disculparan ustedes pero considero que esto es fascinante D:
Ya que por el filtro de borrosidad no se nota, antes del correro va un “-C” importantísimo que esta sea en mayúcula, así:
ssh-keygen -t rsa -b 4096 -C "[email protected]"
¿esa llave se hace cada vez que creo un proyecto? ¿o solo se hace una vez?
Vinculando nuestra llave SSH en GitHub
En la terminal
-> clear
-> ssh-keygen -t rsa -b 4096 -C correo GitHub
– enter
– contraseña de ubuntu
-> eval “$(ssh-agent -s)” : ver agente corriendo
-> clear
-> ssh-copy-id correo GitHub
-> cd ~/.ssh
-> ls
-> cat id_rsa.pub
. Copiar llave
. Vamos a GitHub en la web
. Entrar en avatar o foto de cuenta
. Settings
. SSH and GPG keys
. New SSH key
. Pegar key / llave
. Title: Llave curso Prework
. Add SSH key
. No me pido contraseña :v
Para los que no les funciona:
me tocó desde cero pero melo
No costaba nada crear un correo solamente para pruebas…
cuando pones el codigo ssh-copy-id “correo@gmail” y te sale el error ERROR: ssh: connect to host gmail. com port 22: Network is unreachable saltate ese paso y coloca el codigo siguiente cd ~/.ssh de todos modos te va a dar la llave que necesitas
aqui es muy importante este detalle, la "C" es mayuscula!
Mi dislexia esta haciendo que aprenda a fuerza cada curso.
asi quedo…gracias chicos por sus valiosos aportes
Para mi fue confuso en el minuto 4:56 que empieza a explicar lo de ssh-copy-id
Y luego continua haciendo lo de cd ~/.ssh para copiar la llave
Si alguien mas tiene esta confusion, yo creo que ambas son opciones de hacer lo mismo. Es decir, con ssh-copy-id se copia automaticamente y con la segunda opcion es como buscar la llave para copiarla manualmente.
Documentación para crear la clave ssh (Github)
A mi de ninguna forma al copiar el ID me funcionaba por lo que me funciono fue esto:
SSH-AGENT BASH luego ejecutas SSH-ADD y te pedira la clave sudo lo cual despues el mismo terminal te dira: identity added lo cual ya sabes que tu identidad fue agregada.
Commit: Todos los commits se aplican sobre una rama. Por defecto, siempre empezamos en la rama master (pero puedes cambiarle el nombre si no te gusta) y creamos nuevas ramas, a partir de esta, para crear flujos de trabajo independientes.
.
Branch: Crear una nueva rama se trata de copiar un commit (de cualquier rama), pasarlo a otro lado (a otra rama) y continuar el trabajo de una parte específica de nuestro proyecto sin afectar el flujo de trabajo principal (que continúa en la rama master o la rama principal).
.
Los equipos de desarrollo tienen un estándar: Todo lo que esté en la rama master va a producción, las nuevas features, características y experimentos van en una rama “development” (para unirse a master cuando estén definitivamente listas) y los issues o errores se solucionan en una rama “hotfix” para unirse a master tan pronto como sea posible.
.
Merge: Crear una nueva rama lo conocemos como Checkout. Unir dos ramas lo conocemos como Merge, pero hay que tener cosas en cuenta:
.
Podemos crear todas las ramas y commits que queramos. De hecho, podemos aprovechar el registro de cambios de Git para crear ramas, traer versiones viejas del código, arreglarlas y combinarlas de nuevo para mejorar el proyecto.
IMPORTANTE Solo ten en cuenta que combinar estas ramas (sí, hacer “merge”) puede generar conflictos. Algunos archivos pueden ser diferentes en ambas ramas. Git es muy inteligente y puede intentar unir estos cambios automáticamente, pero no siempre funciona. En algunos casos, somos nosotros los que debemos resolver estos conflictos “a mano”.
Hay un punto, no es un error es simplemente un detalle omitido y me estaba generando un error cuando intentaba aplicar el comando ssh-copy-id.
En cuando se esta generando la instruccion ssh-keygen -t rsa -b 4096 -C “email de github” hay que darle enter simplemente y no un nombre como tal en linea marcada en la flecha de la imagen
Saludos
hola, después de sufrir con la evaluación del agente, por fin conseguí mi llave. no me funcionaba el comando ,
recomiendo usar ssh-add ~/.ssh/id tsa a cambio de “ssh-copy-id your@email”, me funciono de esta manera
Hola, les dejo mi síntesis de la clase por si alguien se perdió, espero les ayude, si en algún momento me equivoco háganmelo saber:
El objetivo de la clase es vincular nuestra clave SSH con nuestra cuenta de Github. Para esto necesitamos:
Este protocolo funciona así:
Entonces:
Generamos la llave SSH (y nuestras llaves pública y privada) usando:
ssh-keygen -t rsa -b 4096 -C 'email_de_Github'
Administramos nuestra llave privada usando el agente SSH. (Gestiona la llave privada que debe estar en nuestro equipo)
eval “$(ssh-agent -s)”
NOTA: Varios compañeros ayudaron aportando el comando siguiente, el cual pertenece a este paso, no es un reemplazo al comando ‘ssh-copy-id’, igualmente es opcional.
ssh-add ~/.ssh/id_rsa
Copiamos llave pública. (Envía la llave publica a Github). Tenemos varias opciones:
NOTA: La clase tiene un corte, mostrándonos el siguiente metodo, el cual si sustituye a ‘ssh-copy-id’.
Abrir nuestra llave y copiar su contenido
Accedemos a la ubicación de nuestra llave.
cd ~/.ssh
ls
Abrimos nuestra llave pública y copiamos su contenido.
cat id_rsa.pub
Añadir llave SSH a Github
En Github
Icono de cuenta -> Settings -> SSH and GPG Keys -> New SSH Key
Dar nombre a llave(Nombre del PC)
Pegar llave publica
Hola. Si alguien tiene problemas al vincular SSH con github porque salga “Connection time out”, aquí les dejo un enlace para solucionarlo:
https://dev.to/johncardenasp/como-crear-y-vincular-una-llave-ssh-con-github-42i4#:~:text=Vincular llave SSH con GitHub&text=Le das en la opción,sin ningún tipo de problema.
9 min de video que fue como media hora para mi
Como generar tu llave de github para poder trabajar desde WSL: ssh-keygen -t rsa -b 4096 -C “correo_entre_comillas”
Hola, para todos los que no le funciona tal cual el profesor lo utiliza, y les aparece el error “Too many arguments” tiene que poner una “-C” antes de poner su correo.
Ejemplo: ssh-keygen -t rsa -b 4096 -C “tu correo” y le das Enter.
alguien puede ayudarme.
Si quieren ponerle un nombre diferente a su par de llaves pueden usar la bandera -f seguida del nombre al final del comando ssh-keygen, y para los que estan viendo este curso en el futuro Github recomienda el tipo de seguridad ed25519, por ejemplo:
ssh-keygen -t ed25519 -C "[email protected]" -f github
Too Many Arguments.… si les sale este problema, es porque deben colocar -C en mayúsculas, antes del correo.
En el minuto dos el video tiene un error de edición, no sale el -C antes del correo y vi en los comentarios que genera confusión por aparece un “too many arguments”
Para copiar en la terminal hacen: ctrl + shift + c
Para pegar en la terminal hacen: ctrl + shift + v
Con Ctrl + L también limpias la terminal.
Dejo como pueden copiar la llave publica .
¿Quieres ver más aportes, preguntas y respuestas de la comunidad?