Que pasa si cuando chequeo el servicio de cifrado este me da un error o se encuentra apagado? Es decir cuando hago eval $(ssh-agent -s) ...

Pregunta de la clase:
Git tag y versiones en Github
Daniel Eduardo Sanchez Yañez

Daniel Eduardo Sanchez Yañez

Pregunta
studenthace 4 años

Que pasa si cuando chequeo el servicio de cifrado este me da un error o se encuentra apagado? Es decir cuando hago eval $(ssh-agent -s) me salga un error o no me salga un proceso.

Mi duda es ¿Es posible que ocurra esto? ¿De ser asi como lo encendemos? ¿Es necesario que este prendido para decirle al sistema donde esta la llave privada? ¿Porque es tan importante saber que este prendido?

Ayudenme con esas 4 preguntas please.

2 respuestas
para escribir tu comentario
    Daniel Eduardo Sanchez Yañez

    Daniel Eduardo Sanchez Yañez

    studenthace 4 años

    Oka, dejam ver si te entendi (entre en todos los vinculos que dejaste para entender mejor)

    ssh-agent es un programa que corre en background y gestiona las llaves privadas y publicas SSH o creadas en SSH. De tal manera que el toma mi llave privada para iniciar sesion y desencriptar el archivo.

    Entonces el 1er paso era crear la llave ssh-keygen

    la creamos tipo rsa, con 4096 bits y la asignamos al correo de github (supongo que por eso el -C)

    Y ahora, yo tengo que decirle al ssh-agent la ruta de mi llave privada, porque sino no podra abrir los archivos que vienen de github cifrados.

    Pero para agregarla, ssh-agent debe estar encendido o corriendo. Puedo chequear haciendo echo $SSH_AGENT_SOCK, y si me sale activo, no necesito eval Si esta apagado:

    Ejecuto : eval $(ssh-agent) y eso lo enciende lo ejecuta pues. Cosa que es raro porque supuestamente en linux se inicia autimaticamente y en windows en terminales compatibles (y gitbash es una de ellas) se inicia solo.

    Ahora q se que los procesos estan activos agrego mi llave con ssh.add la ruta. Que generalmente siempre esta en ~/.ssh/id_rsa

    Si no esta ahi porque la cree en otro sitio y no la va a encontrar. Y ahi debo modificar la ruta.

    Ahora si esta todo bien, llave agregada todo bien configurado y SSH_AUTH_SOCK sigue sin identificar el proceso uso find_agent para settear(creo q que lo reinicia y toma el primer agent ejecutándose) correctamente el proceso (supongo que lo hace solo) y también existen comandos manuales para setearlo, Pero según ley solo se dificulta que lo consiga o identifica cuando manejamos muchos agents en paralelo.

    ++**Cosa que no deberia pasarme por ahora. **++

    Sin embargo quede con una duda: Cuando ocurren estos agents en paralelo? es porque hay mas de 1 llave creada en local?

    Daniel Adolfo Ordoñez Rubio

    Daniel Adolfo Ordoñez Rubio

    studenthace 4 años

    Hola, Daniel :) Si corres el comando

    ssh-agent
    verás algo como esto:

    SSH_AUTH_SOCK=...; export SSH_AUTH_SOCK; SSH_AGENT_PID=...; export SSH_AGENT_PID; echo Agent pid ...;

    Al usar eval

    eval $(ssh-agent)
    estamos ejecutando ese código.

    SSH_AUTO_SOCK es la ruta del archivo socket usado por el agente para la comunicación.

    SSH_AGENT_PID es el id del proceso del user agent.

    Puedes revisar si el agente se está ejecutando con:

    ps x | grep ssh-agent

    El comando ps es para listar los procesos en ejecución, el flag x es para que liste los procesos que no están siendo controlados en una terminal (los procesos en background y que se ejecutan en el inicio); esa lista de procesos las envía como entrada a grep que va a buscar los que coincidan con ssh--agent.

    Si no tienes un proceso de ssh en ejecución puedes usar ssh-add, este te pedirá tu clave privada.

    Si SSH_AUTH_SOCK no mostrara ninguna ruta, existe una herramienta llamada ssh_find_agent que puede servir.

    :D Espero haber resuelto alguna o la mayoría de tus preguntas, cuéntame que te parece o si no entendí el problema :sweat_smile:.

    ¡Nunca pares de aprender! 💚

Curso de Git y Github [Empieza Gratis]

Curso de Git y Github [Empieza Gratis]

Deja de versionar tus proyectos usando tu propio sistema de control de versiones. Mejor usa Git, el sistema de control de versiones por excelencia que utiliza la industria tecnológica. Aprende a trabajar con git, conceptos básicos, clonar un repositorio y gestionar tus proyectos alojándolos en tu repositorio local y en GitHub.

Curso de Git y Github [Empieza Gratis]
Curso de Git y Github [Empieza Gratis]

Curso de Git y Github [Empieza Gratis]

Deja de versionar tus proyectos usando tu propio sistema de control de versiones. Mejor usa Git, el sistema de control de versiones por excelencia que utiliza la industria tecnológica. Aprende a trabajar con git, conceptos básicos, clonar un repositorio y gestionar tus proyectos alojándolos en tu repositorio local y en GitHub.