Actualmente estoy lejos de mi LAN y necesito hacer una copia de seguridad de mi computadora portátil. Tengo una copia algo reciente de mi computadora portátil en mi servidor y generalmente hago una copia de seguridad de la computadora portátil usando rsync. Ahora deseo hacer eso, pero fuera de mi LAN.
En resumen, quiero enviar datos de A a C a través de B, donde A es mi computadora portátil, B mi enrutador y C mi servidor.
Encontré este comando: A$ scp -oProxyCommand="ssh B nc %h %p" thefile C:destinationque funciona bien para transferir archivos a través de scp, pero como ya tengo la mayoría de los datos en mi servidor, deseo usar rsync para sincronizar solo el delta.
He intentado:, A$ rsync file -e 'ssh B ssh' Cy eso funciona hasta donde se me solicita que proporcione la contraseña para el usuario: C. Sin embargo, cuando ingreso la contraseña no sucede nada. El enrutador ejecuta Tomato v1.28 y no puedo configurarlo para utilizar un archivo de configuración ssh que le permita iniciar sesión en C con una contraseña.
¿Alguna idea de cómo hacer que esto funcione?

ProxyCommanden el archivo de configuración. Rsync debería recoger eso.Respuestas:
Esta pregunta se responde esencialmente en otro lugar, incluido aquí para scp y aquí para rsync . Como esta última incluye mi respuesta, pero no se aceptó ninguna respuesta, la repetiré aquí.
Como notó, puede usar
rsyncla-e | --rshopción, pero será un poco más complicado:O, si su versión de
sshes lo suficientemente nueva (OpenSSH> = v7.3), puede usar la opción-J(ProxyJump)Tenga en cuenta que estoy usando
-A(reenvío de agente), pero también debería funcionar con autenticación de contraseña si no usa claves y, por supuesto, puede reemplazarproxyconBydestconCen su ejemplo.Si por casualidad no tiene una
sshversión lo suficientemente nueva (> = 5.3, IIRC), puede usar ennetcatlugar de la-Wopción parassh:Finalmente, como ya se señaló en los comentarios, puede colocarlo
ProxyCommanden su$HOME/.ssh/configarchivo para que no tenga que tener una línea de comando tan complicada. Específicamente, agregue algo como esto:O, usando
ProxyJumppara OpenSSH> = v 7.3:Entonces deberías poder hacer:
fuente