En este ejemplo, aprenderemos cómo configurar nuestras llaves SSH en local.
Cómo generar tus llaves SSH
1. Generar tus llaves SSH**
Recuerda que es muy buena idea proteger tu llave privada con una contraseña.
ssh-keygen -t rsa -b 4096-C"tu@email.com"
2. Terminar de configurar nuestro sistema.
En Windows y Linux:
Encender el "servidor" de llaves SSH de tu computadora:
eval $(ssh-agent -s)
Añadir tu llave SSH a este "servidor":
ssh-add ruta-donde-guardaste-tu-llave-privada
En Mac:
Encender el "servidor" de llaves SSH de tu computadora:
eval "$(ssh-agent -s)"
Si usas una versión de OSX superior a Mac Sierra (v10.12), debes crear o modificar un archivo "config" en la carpeta de tu usuario con el siguiente contenido (ten cuidado con las mayúsculas):
Host *
Me encantan tus apuntes! En que plataforma los haces?
Saludos!
Tomare prestado estos apuntes.
La "tilde de la ñ" se llama Virgulilla.
Ooooooo
O_O
nice !!!!
Freddy: No me mandes email o-o
my mind: Hazlo o<o
jajajaja
Yo solo escuchaba : Mandame emails, escuchaste bien, mandame emails xD
Gracias.... necesitaba como saca el simbolo de la ñ
Muchísimas gracias Arturo
SSH o Secure Shell: Es un protocolo de red que permite acceso remoto seguro a través de una conexión encriptada. Este método de autenticación requiere un passphrase (contraseña) o tambien puede funcionar sin passphrase sobre la clave.
.
En el directorio Home ~
$ git config -l: Muestra la configuración dentro de Git(user y email), Este comando funciona por que Git esta instalado en todo el equipo local.
.
$ git config --global user.email "nombre_email_cambiado" : Se puede utilizar este mismo comando para cambiar el email.
.
Creamos la llave SSH
$ ssh-keygen -t rsa -b 4096-C"tu_email@gmail.com"
-t = Especifica cual es el algoritmo que vamos a usar para crear esa llave.
rsa = Algoritmo a usar, hasta el momento el mas popular.
-b = Especifica que tan compleja es la llave.
4096 = Complejidad de la llave desde una perspectiva matemática.
-C = Indica a que correo electrónico va estar conectado esta llave
Dato: Guardar la llave en la dirección predeterminada.
Dato2: Passphrase: Password con espacios o Contraseña adicional de texto que le vas a poner a tu llave pública y privada.
.
++1er Paso:++
Una ves que tengamos la llave, tenemos que agregarlo al entorno, y el entorno es básicamente que el sistema operativo donde tu trabajas sepa que la llave existe. Para ello ejecutamos lo sgte:
.
revisar el servidor de llaves / Evalúa que un comando se dispare.
$ eval $(ssh-agent -s)
Dato: Agent pid 4724
Agent = Significa que el servidor de SHH esta corriendo.
pid = Process id o identificador del proceso.
4724 = Número que al sistema operativo le dice que el proceso esta corriendo.
.
++2do Paso:++
Agregamos la llave privada a nuestro sistema o al servidor por que no basta con que la llave solo exista, sino debemos decirle que existe. Para ello ejecutamos el siguiente comando:
$ ssh-add ~/.ssh/id_rsa
~ = Home
.ssh = carpeta ssh
id_rsa = llave privada la que nunca debemos de mostrar.
Gracias, muy bueno tu resumen
Excelente resumen, gracias. :)
Por si hacen alguna estupidez como yo, pueden remover la llave con ssh-add -D, luego crean otra :v
ahahahahah equivacandose se aprende compa :D
esto es lo que estaba buscando xd gracias heroe
OJO: Si agregan una contraseña cuando les pide el 'passphrase' esto hará que siempre que hagan pull/push les pida esa misma contraseña.
Vengo de clases adelante y es muy tedioso que te pida eso cada instante, recomiendo poner una contraseña fácil o directamente no poner nada ya que con la configuración de la llave SSH es seguro de por sí.
Pero en el caso que si pusieron y quieren cambiarla o directamente eliminarla les comparto el siguiente comando:
ssh-keygen -f ~/.ssh/id_rsa -p
Con esto modificarán la contraseña o no poner nada directamente.
Saludos. :D
Excelente Aporte! Debería estar más arriba en la sección :)
muchas gracias por la recomendación!!!
Por cultura general, Este símbolo se llama Virgulilla
~
Gracias Carlos, estaba buscando el nombre de este símbolo.
jaja interesante
Para las aquellos que les pueda generar un mensaje al momento de crear la llave como este:
id_rsa already exists.Overwrite(y/n)? n
Es por que en algún momento ya habíamos tenido alguna interacción con git. (en mi caso con proyectos laborales) Entonces si queremos dejar ese SSH ahí por que nos da "miedito" borrarlo, podemos crear otro de forma fácil.
Simplemente al momento de ejecutar el comando
Enter file in which to save the key(/c/Users/[Usuario]/.ssh/id_rsa):
No presiones ENTER!!!!
Ahí en eses input, escribe la ruta del home(~) y luego el nombre con el que quieres que crear el nuevo ssh.
Espero que les sirva a personas miedositas como yo.
muy buen aporte, gracias
Buen aporte, gracias
Hay que tener en cuenta que este curso ya tiene dos años, el algoritmo rsa ya es viejo, aunque es soportado por muchas otras plataformas además de Github. Pero en este momento, finales de 2021, Github soporta otros nuevos y mejores algoritmos como el nuevo ED25519 pero es importante señalar que si lo quieres usar más alla de Github es necesario comprobar en la documentación de los clientes y servidores SSH, para saber si soportan este algoritmo.
Inclusive es el algoritmo que Github recomienda en este momento es su documentación para generar una llave SSH.
Este es el comando para generar una llave con este nuevo algoritmo.
freddy: por favor no me mandes emails..
yo: que le mande dice
jaja
Si, que le mandemos 👾
Ojala puedan agrear un campo de búsqueda en la pestaña de preguntas, Saludos :D
Gracias por la sugerencia! Mientras puedes usar la funcionalidad del navegador para buscar con "Ctrl + F"
seria una genial idea y no solo en la seccion de preguntas
Comparto mis anotaciones para quienes les puedan servir:
Exelente. muchas gracias. saludos
tienes un error en tu primer comando pusiste "C" y es -C
Gracias, por la info muy buena.
Una nota sin importancia, pero que quizás pueda ayudar a algín compañero:
La tide de la ñ la encontrareis como carácter "virgulilla"
En mi teclado, para escibirlo en Ubuntu (sobre Windows), en el Bash, es:
<ALT Gr> + 4 y después un espacio
Espero haber ayudado con mi comentario a algún compañero, con el mismo problema. Gracias
Muchísimas gracias!!!
De nada, Rubén
¿Cómo verificar si ya existen llaves SSH?
Pueden ejecutar el siguiente comando en git bash:
ls -al ~/.ssh
Es justo lo que buscaba hermano, me has salvado.
Casi no puedo poner este símbolo (~) jaja, para los que no les aparezca con el teclado se hace con ALT+126.
muy buen aporte :D
en el teclado latinoamericano es alt gr + ("+")
Soy el único que le dieron ganas de mandarle un Email a Freddy? :C
ya somos 2
Literalmente rogó que no lo hagan, hay que ser empáticos y respetuosos. A pesar de que sentimos que lo conocemos, él no nos conoce y no somos sus amigos de confianza.