¿Cuál es el propósito de ssh-agent?

Pregunta:

He leído la definición oficial:

ssh-agent es un programa para almacenar claves privadas que se utilizan para la autenticación de claves públicas (RSA, DSA, ECDSA). La idea es que ssh-agent se inicie al comienzo de una sesión X o una sesión de inicio de sesión, y todas las demás ventanas o programas se inicien como clientes del programa ssh-agent . Mediante el uso de variables de entorno, el agente se puede ubicar y usar automáticamente para la autenticación al iniciar sesión en otras máquinas usando ssh (1).

"un programa para contener claves privadas" – En mi humilde opinión, las claves ssh son generadas por un usuario con el comando ssh-keygen y simplemente se almacenan en ~/.ssh – ¿por qué necesito algún demonio para almacenar estas claves? ¿Cómo los sostiene exactamente de todos modos? – ¿No están simplemente almacenados en .ssh ?

"se inician como clientes del programa ssh-agent" , no lo entiendo. ¿Dónde se necesitaría eso? Por lo general, solo uso ssh como este:

 ssh -i ~/.ssh/private_key_name username@hostname

¿Qué significa exactamente la definición anterior por "clientes"? ¿Qué clientes? ¿No ejecuta simplemente el comando ssh desde una terminal para conectarse a otra máquina? ¿Qué otros clientes hay y por qué no pueden usar la ruta estándar a ese archivo de clave privada, al igual que el comando ssh ?

Respuesta:

El agente SSH maneja la firma de los datos de autenticación por usted. Al autenticarse en un servidor, debe firmar algunos datos con su clave privada, para demostrar que es, bueno, usted.

Como medida de seguridad, la mayoría de las personas protegen sensatamente sus claves privadas con una frase de contraseña, por lo que cualquier intento de autenticación requeriría que ingrese esta frase de contraseña. Esto puede ser indeseable, por lo que ssh-agent almacena la clave en caché y usted solo necesita ingresar la contraseña una vez, cuando el agente quiere descifrarla (y a menudo ni siquiera eso, ya que ssh-agent se puede integrar con pam, que hacen muchas distribuciones).

El agente SSH nunca entrega estas claves a los programas del cliente, sino que simplemente presenta un socket a través del cual los clientes pueden enviarle datos y sobre el cual responde con datos firmados. Un beneficio adicional de esto es que puede usar su clave privada incluso con programas en los que no confía completamente.

Otro beneficio del agente SSH es que se puede reenviar a través de SSH. Entonces, cuando envía ssh al host A, mientras reenvía a su agente, puede enviar ssh desde A a otro host B sin necesidad de que su clave esté presente (ni siquiera en forma cifrada) en el host A.

Leave a Comment

Your email address will not be published.

Scroll to Top

istanbul avukat

-

web tasarım