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