¿Se requiere configuración adicional para el reenvío de agente ssh?

21

Esta guía hace un gran trabajo explicando cómo funciona ssh-agent en múltiples sistemas. Me gustaría configurar el reenvío como está en el último conjunto de diagramas, pero tengo problemas para rastrear los pasos necesarios para hacerlo.

Para algunas máquinas en mi red, puedo pasar de A a B, luego de B a C, sin ingresar una contraseña cert. Sin embargo, otras máquinas dan un "No se pudo abrir una conexión con su agente de autenticación" (¡a veces!), Luego no reenvían mi información de autenticación. SSHing de una de estas máquinas a otra casilla en la red solicita nuevamente mi contraseña de clave privada.

No construí estas máquinas, pero puedo administrar algunas de ellas. No estoy seguro de cuál es la diferencia entre boxen que funciona y los que no, podría ser un problema de firewall, configuración ssh / ssh-agent / sshd, cualquier cosa, y no veo ningún paso. Guías paso a paso específicas para el reenvío flotando alrededor de la red. Solo necesito saber por dónde empezar a perseguir este problema.

Coderer
fuente

Respuestas:

23

El reenvío de agente Ssh debe estar permitido en el cliente ( ForwardAgentopción en ~/.ssh/config) y en el servidor ( AllowAgentForwardingopción en sshd_config). Lo más probable es que sus máquinas tengan configuraciones predeterminadas diferentes para una o ambas opciones.

Si va a A-> B-> C, el reenvío no es necesario en el paso B-> C (a menos que vaya a ir C-> D, por supuesto).

Cuando haya iniciado sesión en B, verifique que la variable de entorno SSH_AUTH_SOCKesté definida. Su valor es cómo sshsabe cómo contactar al agente.

No hay una buena razón para prohibir el reenvío de agentes en el servidor, dado que el reenvío de agentes hace que el cliente sea vulnerable al servidor y no al contrario, y que, en principio, podría configurar el reenvío de agentes manualmente (aunque no habría mucho sentido desde la dificultad de configurarlo anularía el punto de la conveniencia del reenvío de agentes).

Gilles 'SO- deja de ser malvado'
fuente
La buena noticia: ¡gracias por indicarme la tecla correcta que debo buscar! La mala noticia: Aparentemente, este es un error conocido en openssh-server. Parece que se ha solucionado, en algún momento, pero no creo que esté ejecutando una versión lo suficientemente actualizada: aparece la "Mala opción de configuración: AllowAgentForwarding" cuando intento habilitarla. Parece que está apagado para actualizar mi carga de software (de nuevo ...)
Coderer
1
@Coderer: Dado que el reenvío de agente está predeterminado, debería ser suficiente para eliminar cualquier AllowAgentForwardinglínea sshd_config.
Gilles 'SO- deja de ser malvado'
@Gilles Si alguien quisiera configurar manualmente el reenvío de agentes para una sesión existente, ¿cómo harían para hacerlo? Esta es una necesidad real con scripts de aprovisionamiento utilizados con máquinas efímeras como AMI que vienen con AllowAgentForwardingdeshabilitado.
Andrew De Andrade
@AndrewDeAndrade Para una sesión existente, tiene su trabajo cortado. Si se refería a configurar el reenvío de agentes incluso si está deshabilitado en el servidor, debe reenviar un socket Unix a través de TCP; Esto debería ser factible con netcat o socat en ambos lados.
Gilles 'SO- deja de ser malvado'
@Gilles Esa es la conclusión a la que vine también. Descubrí que también puedes usar spiped, que es más seguro pero requiere un intercambio simétrico de claves, pero es más simple después de eso.
Andrew De Andrade
14

Si bien ya tiene la respuesta correcta de @Gilles arriba, quería señalar que AllowAgentForwardingsolo es compatible con OpenSSH 5.1 en adelante.

Los servidores OpenSSH anteriores a 5.1, por lo que he visto en mi cuadro RHEL 4u5, permiten el reenvío de agentes por defecto. Entonces, si su servidor es anterior a 5.1 y el reenvío de agente no funciona, es probable que el problema esté en el cliente ssh. Dado que el reenvío parece estar funcionando para algunas máquinas para usted, parece que /etc/ssh/ssh_configestá bien configurado. Verifique ~/.ssh/configsi hay alguna excepción para deshabilitar el reenvío de agente para los cuadros afectados.

Ref: http://www.openssh.org/txt/release-5.1

Sandip Bhattacharya
fuente
hola Sandip, ¿Tienes alguna idea sobre esto? superuser.com/questions/958978/...
Niks