Yo a menudo el caso que tengo que hacer un montón de saltos hasta el host remoto, simplemente porque no hay ruta directa entre mi cliente y el host remoto. Cuando tengo que copiar los archivos de un host remoto dos o más saltos de distancia, siempre tengo a:
client$ ssh host1
host1$ ssh host2
host2$ scp host3:/myfile .
host2$ exit
host1$ scp host2:myfile .
host1$ exit
client$ scp host1:myfile .
De vuelta al uucp todavía estaba siendo utilizado esto podría ser tan simple como un
uucp host1!host2!host3 /myfile .
Sé que hay uucp a través de ssh, pero por desgracia no tengo los privilegios adecuados en esas máquinas. También, no estoy seguro de si realmente quiero jugar un poco con el cliente de las máquinas.
¿Alguien sabe de un método de hacerlo tareas sin la necesidad de instalación de una gran cantidad de túneles o en la implementación de nuevo software a hosts remotos? Tal vez algún tipo de recursivas secuencia de comandos que los clones de sí mismo a todos los hosts remotos, haciendo el trabajo duro por mí?
Suponga que la autenticación se lleva a cabo con claves públicas y que todos los hosts hacer SSH Agente de Reenvío.
Edit: yo no estoy buscando una manera automática reenvío de mi interactivo sesssion a la nexthop host. Quiero una solución para copiar archivos bangpath de estilo usando scp a través de múltiples saltos sin la necesidad de instalar uucp en cualquiera de esas máquinas. No tengo el (legal) de los derechos o privilegios para realizar cambios permanentes en el ssh-config. También voy a compartir este nombre de usuario y anfitriones con un montón de otras personas.
Estoy dispuesto a hackear mi propio script, pero quería saber si alguien sabe de algo que ya se hace. Mínimo-invasiva cambios a los hosts en la bangpath, la simple invocación del cliente.
Edit 2: Para dar una impresión de cómo se ha hecho correctamente en las sesiones interactivas, eche un vistazo a la GXPC clustershell. Esto es, básicamente, un Python-script, que spwans a todos los hosts remotos que tienen conectividad y donde su ssh-la clave está instalado. La gran cosa acerca de esto, que se puede decir "puedo llegar a HostC a través de HostB a través de HostA." Simplemente funciona. Quiero tener esto para el scp.