rsync: 클라이언트-서버 프로토콜을 시작하는 중에 오류가 발생했습니다.

rsync: 클라이언트-서버 프로토콜을 시작하는 중에 오류가 발생했습니다.

두 시스템 모두에서 rsyncd를 실행하고 있습니다. 연결을 확인하려고 하면 다음 오류가 발생합니다.

호스트 2에서:

user@host2#rsync username@host1::share
password: [password] 

@ERROR: auth failed on module share
rsync error: error starting client-server protocol (code 5) at main.c(1524) [Receiver=3.0.7]

호스트 1에서:

나는 다음과 같은 구성을 가지고 있습니다

vim /etc/rsyncd.conf

max connections = 2
log file = /var/log/rsync.log
timeout = 300

[share]
comment = Public Share
path = /home/subhransu
read only = no
list = yes
uid = backuppc
gid = backuppc
auth users = backuppc
secrets file = /etc/rsyncd.secrets

호스트 1에서

tail /var/log/rsync.log

2013/04/09 03:47:15 [29179] forward name lookup for cust-198-154-126-179.corexchange.com failed: No address associated with hostname
2013/04/09 03:47:15 [29179] connect from UNKNOWN (198.154.126.179)
2013/04/09 03:47:18 [29179] auth failed on module share from unknown (198.154.126.179): unauthorized user

참고: rsyncd.secrets맞습니다 user:passwd. 방화벽 문제는 없습니다.

답변1

서버 구성 파일의 및 매개변수는 uid권한 분리를 위한 것이라고 생각합니다.gid

auth users구성의 매개변수는 "" 를 제외한 다른 모든 사용자 이름을 명시적으로 거부합니다 backuppc.

따라서 "Host1"의 rsyncd.secrets와 "Host2"의 명령줄에서 "backuppc"를 사용해야 합니다.

auth users해당 명령문을 제거 하거나 /etc/rsyncd.conf실제로 Host2의 사용자인지 다시 확인하십시오 backuppc(예: "host2:"에서와 같이 "user" 또는 "username"이 아님).

strict modes = false문제를 해결할 때 rsyncd 구성 파일에 추가해 볼 수도 있습니다 .

답변2

0

CentOS 7에서도 같은 문제가 발생했습니다. 많은 기사와 포럼을 찾아봤지만 해결책을 찾을 수 없습니다. 문제는 SElinux에 있습니다. 서버 측에서 SElinux를 비활성화하면 작동합니다. 서버 측에서 SELinux 상태 확인(rysnc를 사용하여 데이터 추출) SELinux 상태를 확인하고 비활성화하는 명령

$getenforce

Enforce ## 이는 SElinux가 활성화되었음을 의미합니다.

$세트 강도 0

$getenforce

용인

이제 클라이언트 측에서 rsync 명령을 실행하려고 하면 저에게 효과적이었습니다. 모두 제일 좋다!

답변3

또한 rsyncd.conf에 올바른 권한이 설정되어 있는지 확인하세요.

chmod 640 /etc/rsyncd.cond

관련 정보