Can't use RSYNC daemon via SSH connection

I have a problem while trying to use RSYNC with daemon and SSH connection.

What I wan't to do is simply login to rsync without pass and be able to use the rsync daemon.

Here is my conf file (/etc/rsyncd.conf):

uid = rsync
gid = rsync

[yxz]
    path = /home/pierre/xyz
    read only = false
    auth users = rsync
    hosts allow = <myIP>

/home/pierre/xyz has gid wich rsync user can reach.

This is working (but is not using the daemon):

rsync -rzP --stats --ignore-existing --remove-sent-files rsync@mydomain.fr:/home/pierre/xyz/ /media/xyz --include="*.cfg" --exclude="*"

This is not working (using the daemon), but rsync asks me for pass and then says "@ERROR: auth failed on module xyz" because I don't have configure authentification this way :

rsync -rzP --stats --ignore-existing --remove-sent-files rsync://rsync@mydomain.fr/xyz/ /media/xyz --include="*.cfg" --exclude="*"

This is not working (using the daemon):

rsync -rzP -e "ssh -l rsync" --stats --ignore-existing --remove-sent-files rsync://rsync@mydomain.fr/xyz/ /media/xyz --include="*.cfg" --exclude="*"

Here is the error message:

rsync: connection unexpectedly closed (0 bytes received so far) [Receiver] rsync error: error in rsync protocol data stream (code 12) at io.c(605) [Receiver=3.0.9]

With -v option to the ssh command, it says connection is allowed, so I suppose rsync is the problem, not ssh.

Any idee ?

Thanks for your help :)


To use rsync daemon without a password, you should remove auth users line from your config file.

uid = rsync
gid = rsync

[yxz]
    path = /home/pierre/xyz
    read only = false
    hosts allow = <myIP>

After starting the daemon, you can refer the module either using :: syntax or using rsync:// prefix as follows

rsync -rzv rsync@mydomain.fr::xyz/ /media/xyz 

rsync -rzv rsync://rsync@mydomain.fr/xyz/ /media/xyz 

More info: man rsyncd.conf

链接地址: http://www.djcxy.com/p/60046.html

上一篇: 通过SSH的rsync,获取权限被拒绝

下一篇: 无法通过SSH连接使用RSYNC守护进程