He estado buscando una solución al siguiente problema durante las últimas 2 horas sin suerte.
Desarrollo:
Estoy usando la autenticación de clave pública para conectarme a mis servidores. Utilizo el reenvío de ssh-agent para no tener que administrar claves públicas / privadas.
Digamos que tengo servidores A, B and C
.
Esto funciona muy bien si me conecto desde LOCAL ---> A ---> B
.
También funciona muy bien si lo hago LOCAL ---> A ---> C
.
Ahora, si lo intento LOCAL ---> A ---> B ---> C
, SSH no puede conectarse B to C
.
Vale la pena señalar: me conecto al servidor A como liquidez, mientras que me conecto al servidor B como root. Conectarse al servidor B como liquidez soluciona el problema, pero esta no es una opción para mí.
Según la recomendación de un usuario, uso ssh -A
cada vez para asegurarme de que el reenvío de agente esté habilitado.
Encontré una pregunta similar, sin respuesta aquí: ¿es posible encadenar el reenvío de ssh-agent a través de múltiples saltos?
De acuerdo con @Zoredache aquí: /server//a/561576/45671 Solo necesito ajustar la configuración de mi cliente en cada sistema intermedio. Lo cual creo que hice.
ProxyCommand
salto (como se explica aquí ) en lugar de reenviar el agente SSH. Para su enfoque, tendrá que confiar en todas las máquinas de la cadena porque pueden (ab) usar sus claves privadas. También me gusta mucho el enfoque ProxyCommand porque la verificación de hosts conocidos se realiza localmente y, además, puede configurar la cadena en su configuración SSH para que pueda usar un solo comando para conectarse a C.