2014-03-29 97 views
1

嘗試在守護進程和SSH連接中使用RSYNC時出現問題。通過SSH連接無法使用RSYNC守護進程

我想做的只是簡單地登錄到rsync,而無需通過並能夠使用rsync守護進程。

這裏是我的conf文件(/etc/rsyncd.conf):

uid = rsync 
gid = rsync 

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

/家庭/皮爾/ XYZ已經GID至極rsync的用戶可以達到。

這是工作(但不使用守護進程):

rsync -rzP --stats --ignore-existing --remove-sent-files [email protected]:/home/pierre/xyz/ /media/xyz --include="*.cfg" --exclude="*" 

(使用守護進程),這不是工作,而是rsync的問我要傳球,然後說:「@ERROR:驗證失敗的模塊XYZ」因爲我沒有配置認證是這樣的:

rsync -rzP --stats --ignore-existing --remove-sent-files rsync://[email protected]/xyz/ /media/xyz --include="*.cfg" --exclude="*" 

這不是工作(使用守護進程):

rsync -rzP -e "ssh -l rsync" --stats --ignore-existing --remove-sent-files rsync://[email protected]/xyz/ /media/xyz --include="*.cfg" --exclude="*" 

以下是錯誤消息:

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]

隨着-v選項ssh命令,它說的連接是允許的,所以我想Rsync是問題,而不是SSH。

任何idee?

感謝您的幫助:)

回答

1

要使用rsync守護進程沒有密碼,你應該刪除您的配置文件auth users線。

uid = rsync 
gid = rsync 

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

啓動守護進程後,您可以參閱模塊或者使用::語法或使用rsync://前綴如下

rsync -rzv [email protected]::xyz/ /media/xyz 

rsync -rzv rsync://[email protected]/xyz/ /media/xyz 

更多信息:man rsyncd.conf

+0

大它的工作原理,但什麼樣的認證的是做成? 現在,我可以像這樣連接(注意遠程系統上不存在的「toto」用戶),這讓我想象不存在安全問題: rsync -rzP -e「ssh -l rsync」--stats --ignore-existing --remove-sent-files rsync://[email protected]/xyz//media/xyz --include =「*。cfg」--exclude =「*」 – pierrefevrier

+0

這是不安全的。如果要進行身份驗證,則必須使用'auth users'來指定允許連接到該模塊的逗號和空格分隔的用戶名列表,而'secrets'指定包含用戶名:password的文件的名稱用於驗證此模塊的對。請參閱手冊頁獲取更多信息。 – clement

+0

我知道:) 我想要做的是用密鑰auth用戶,而不是通過。 感謝您的幫助。 – pierrefevrier