Pregunta El host de origen no tiene acceso a Internet, pero puede SSH alojarlo; ¿Cómo puedo sincronizar a un tercer host de Internet?


Este es el comando que solía ejecutar desde mi máquina SOURCE

rsync -Rrlt --progress --delay-updates ./my_folder root@machine-on-same-network:/home/me/.

Ahora necesito copiar esta misma carpeta a una máquina TARGET que está en Internet.

Mi máquina SOURCE no tiene acceso a Internet, sin embargo, esa máquina SOURCE podría conectarse a través de SSH a una máquina que sí tiene acceso a Internet.

¿Hay alguna manera de lograr eso?


0


origen


¿Hay algún motivo por el que no pueda sincronizar la carpeta con la máquina intermediaria y desde allí sincronizar con la máquina de destino? - Yozomiri
sí, hay una buena razón para eso, de ahí la pregunta - zabumba


Respuestas:


Sí, es posible hacer esto. los sitio web rsync listas explícitamente cinco diferentes métodos para hacer esto. Ellos dicen en la parte superior de la página:

Si tiene una configuración en la que no hay forma de conectar directamente dos sistemas para una transferencia de rsync, existen varias maneras de hacer que un sistema de cortafuegos actúe como intermediario en la transferencia.

Encuentro el método dos especialmente simple: cambie su archivo ~ / .ssh / config en su máquina fuente para incluir estas líneas:

 Host target
   ProxyCommand nohup ssh middle nc -w1 %h %p
   User target_user

aquí objetivo es la pc de destino, donde estás usuario objetivoy medio es la pc actuando como un g-between. Carolina del Norte  es obviamente netcat, nohup suprime una advertencia molesta, -w1 apaga la instancia en ejecución de netcat, *% p% usa el puerto predeterminado.

Con esto en su lugar, el comando para realizar la copia de seguridad se convierte en:

 rsync -Rrlt /src/ target:/dest/

Si desea más discusión de estos métodos por alguna razón, un buen lugar es esta página de blog.


2



Sí, el enlace a la página rsync era todo lo que estaba buscando. Aclamaciones. - zabumba