Rsync via two ssh tunnels possible (standard method mentioned k times not possible?)

Roman Fiedler roman.fiedler at
Tue Dec 23 09:05:53 GMT 2008

I finally got it working. The strange error message were the result of 
server/client thread running with incompatible command line args, as 
Matt had already predicted.

I also saved me the pain to figure the correct args out by using the 
rsync daemon process. The configuration was much simpler than expected:

port = 6666
   path = /data/src
   uid = 0
   gid = 0
   read only = true

/usr/bin/rsync --daemon --no-detach --config=rsyncd.conf

I known that running the daemon as root is not a good idea, but for a 
one-time sync it should be OK. Otherwise I would have to make the source 
data directories world readable or sync with various different users.

rsync --verbose --fuzzy -a rsync://localhost:4444/src .

(Keep in mind: localhost:4444 is fwd to localhost:6666 on other machine)

Justin Pryzby wrote:
> Is it sufficient to use:
> 	ssh -oProxyCommand ssh $directhost nc -q1 %h %p
> where $directhost is the host to which the invoking rsync can connect
> directly?

If I would install an ssh server on the bridge host in the middle 
(directhost) and put private keys on the side where rsync is invoked, 
this would work. Otherwise I also could forward the ssh server port from 
the src machine to dest, but that would need copying of key material 
also, which I want to avoid.

Thanks for all of your input,

More information about the rsync mailing list