"RSYNC_RSH"는 작동하지 않지만 "--rsh"는 작동하는 이유는 무엇입니까?

"RSYNC_RSH"는 작동하지 않지만 "--rsh"는 작동하는 이유는 무엇입니까?

설정은 RSYNC_RSH작동하지 않지만 --rsh옵션은 작동합니다. 왜?

rsync--rsh옵션을 올바르게 사용하십시오.

$ rsync --rsh "echo" invalid invalid::invalid
rsync: server sent "invalid rsync --server --daemon ." rather than greeting
rsync error: error starting client-server protocol (code 5) at main.c(1657) [sender=3.1.3]

그러나 나는 그것이 동일한 효과를 가질 것이라고 예상했지만 RSYNC_RSH그렇지 않습니다.

$ RSYNC_RSH=echo rsync invalid invalid::invalid
rsync: getaddrinfo: invalid 873: Name or service not known
rsync error: error in socket IO (code 10) at clientserver.c(127) [sender=3.1.3]

버전 3.1.2-1+deb9u1 및 3.1.3-5.fc29.x86_64를 사용해 보았습니다 rsync.

답변1

이는 설계된 대로 작동합니다.

rsync "데몬" 구문을 사용하고 있습니다: hostname::module. 이것을 사용하면 --rsh(예를 들어) 원격 쉘을 사용하여 서버에 연결하지만 이것을 ssh사용하면 rsyncd.conf.아니요 --rsh, 이는 TCP 포트 873에서 rsync 서버에 대한 암호화되지 않은 네트워크 연결을 설정하려고 시도합니다.

설정으로 RSYNC_RSH인해 rsync "데몬" 구문이 원격 셸을 사용하지 않습니다.

RSYNC_RSH"환경 변수"입니다. 전체 환경에 맞게 설정되도록 설계되었습니다. 필요할 때 rsync에서 사용하는 원격 셸을 변경합니다.아니요rsync "데몬" 구문을 사용하세요. 이는 여러 가지 원격 셸이 있었던 예전에는 유용했기 때문에 rsync는 어떤 것을 가장 많이 사용했는지 알 수 없었습니다.

관련 정보