On 12.04.2014 20:48, a. wrote:> I am trying to understand how rsync uses ssh. From what I understand of
> the source, it simply opens a ssh connection and then simply pipes
> rsync's data. But somehow my stomach tells me that this is not the
whole
> story.
>
> For one, that would mean the whole (?) of rsync's protocol is only used
> for not-ssh transmission. The biggest question for me right now is,
> whether rsync, when transmitting remotely over ssh, is binding sockets
> of some kind or if it is completely dependent on ssh for that.
>
> For every bit of enlightenment in this regard I am very grateful!
rsync always works with 2 processes connected by a bidirectional
connection, even when run localy.
Rsync can use any method that provides such a bidirectional connection.
Using ssh is only the "standard" way to do it.
rsync is either used like this:
Locally: rsync a <-> rsync b
Or like this:
Remote: rsync a <-> connector (e.g. ssh) <-> rsync b
<-> means a bidirectional connection.
Specifically or in effect it means that STDOUT from a is connected to
STDIN from b and vice versa.
--
Matthias