Rsync over SSH-tunnel A->B->C using daemon on C

Wayne Davison
Wed, 19 Oct 2005 22:02:42 -0000

On Wed, Oct 12, 2005 at 12:45:09PM +0200, Stefaan Lhermitte
wrote:
> ssh HOST_B ssh HOST_C rsync --daemon

What you should check is:  (1) was the daemon actually started?  Or did
it complain (in the log file) and die?  (2)  Is the daemon configured to
listen on port 8873 instead of 873?  (You can force this with either the
--port=8873 command-line option or via the port option in the config
file.)

> ssh -fN -l myusername -L 8873:HOST_B:8873 HOST_C

This connects to HOST_C and creates a tunnel from port 8873 on the local
host (through the ssh connection) to HOST_C, which will forward any
connects to HOST_B's port 8873.  It seems to me that you want to reverse
those hostnames.  (Aside: if you can directly ssh to HOST_C, you could
just rsync without daemon mode directly to HOST_C using ssh.)

> rsync -auv rsync://HOST_C:8873/module_on_HOST_C/folder_on_HOST_C
/folder_on_HOST_A

You need to connect to port 8873 on *localhost* for the forwarding to
occur:

rsync -auv rsync://localhost:8873/module_on_HOST_C/folder_on_HOST_C
/folder_on_HOST_A

..wayne..