GNU/Linux >> Tutoriales Linux >  >> Linux

Archivos Rsync a través de host intermedio

Esta pregunta se responde esencialmente en otro lugar, incluso aquí para scp y aquí para rsync. Dado que este último incluye mi respuesta, pero no se aceptó ninguna respuesta, lo repetiré aquí.

Como notó, puede usar rsync de -e | --rsh opción, pero va a ser un poco más complicado:

rsync -azv -e 'ssh -o "ProxyCommand ssh -A PROXYHOST -W %h:%p"' foo/ dest:./foo/

O, si su versión de ssh es lo suficientemente nuevo (OpenSSH>=v7.3), puede usar el -J (ProxyJump ) opción

rsync -azv -e 'ssh -A -J [email protected]:PORT' foo/ dest:./foo/

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 reemplazar proxy con B y dest con C en tu ejemplo.

Si por casualidad no tienes un ssh lo suficientemente nuevo versión (>=5.3, IIRC), puede usar netcat en lugar de -W opción a ssh :

rsync -azv -e 'ssh -o "ProxyCommand ssh -A PROXYHOST nc %h %p"' foo/ dest:./foo/

Finalmente, como ya se señaló en los comentarios, puede poner el ProxyCommand en tu $HOME/.ssh/config archivo para que no tenga que tener una línea de comando tan complicada. Específicamente, agregue algo como esto:

Host C
  ProxyCommand ssh -A PROXYHOST -p 22 -W %h:%p

O, usando ProxyJump para OpenSSH>=versión 7.3:

Host C
  ProxyJump PROXYHOST

Entonces deberías poder hacer:

rsync -azv foo/ C:./foo/

Linux
  1. Ssh:¿cómo editar archivos de forma remota a través de Ssh?

  2. ¿Cómo silenciar selectivamente Rsync?

  3. Haz una copia de seguridad de tus archivos con rsync

  4. cp -r sin archivos ocultos

  5. ¿Cómo uso rsync con una dirección IPv6 a través de SSH?

Cómo transferir archivos con Rsync a través de SSH

Cómo transferir archivos con Rsync a través de SSH

Ejemplos de Rsync para transferir archivos en Linux

Reanudar archivos parcialmente transferidos a través de SSH usando Rsync

Cómo SSH al servidor a través de Linux

¿Copias de seguridad remotas cifradas a través de Rsync?