SSH+netcat을 통한 다중 홉 rsync가 매우 빠르게 실패함: 연결이 예기치 않게 종료됨

SSH+netcat을 통한 다중 홉 rsync가 매우 빠르게 실패함: 연결이 예기치 않게 종료됨

서버에서 클라이언트로 디렉터리를 재동기화하고 싶습니다. 서버에 직접 액세스할 수는 없지만 SSH 게이트웨이를 통해 이동해야 합니다. 내 '.ssh/config'에서:

Host gw
    User ab123456
    HostName gw.somewhere.ac.uk
    IdentityFile ~/.ssh/id_dsa.pub
    ServerAliveInterval 60

Host remote
    User me
    HostName remote.somewhere.ac.uk
    IdentityFile ~/.ssh/id_dsa.pub
    ProxyCommand nohup ssh gw netcat -w1 %h %p
    ServerAliveInterval 60

대화형 세션에서는 제대로 작동 ssh하지만 rsync실패합니다. 때로는 즉시, 때로는 몇 초 후, 항상 파일을 복사하기 전:

$ rsync -av remote:/path/to/somewhere/ somewhere/
nohup: redirecting stderr to stdout
rsync: connection unexpectedly closed (0 bytes received so far) [Receiver]
rsync error: unexplained error (code 255) at io.c(226) [Receiver=3.1.0]

$ rsync -av remote:/path/to/somewhere/ somewhere/
nohup: redirecting stderr to stdout

            Access to this system is monitored etc. etc.

receiving incremental file list
Write failed: Broken pipe
rsync: connection unexpectedly closed (12288 bytes received so far) [receiver]
rsync error: error in rsync protocol data stream (code 12) at io.c(226) [receiver=3.1.0]
rsync: connection unexpectedly closed (16336 bytes received so far) [generator]
rsync error: unexplained error (code 255) at io.c(226) [generator=3.1.0]

netcat이 문제는 machine 을 통한 게이트웨이 와 관련이 있다고 가정합니다 gw. 멀티홉 연결을 사용해야 할 때 rsync를 올바르게 사용하려면 어떻게 해야 합니까?

내 동료가 나에게 이 구성 파일을 주었기 때문에 나는 netcat을 사용하고 있으며 이는 일반 ssh에서 작동합니다.

의 상황과 다르다는 점을 참고하세요.이 질문rsync -av을 ( 를) 교체할 때 동일한 문제가 발생합니다 ( 올바른 동기화 기능 scp -pr도 필요합니다 ).rsync

답변1

교체해서 작동시킬 수 있었어요

#ProxyCommand nohup ssh gw netcat -w1 %h %p

~와 함께

ProxyCommand nohup ssh gw -W %h:%p

이는 최신 OpenSSH에서 작동합니다. 이제 즉각적인 시간 초과가 발생하지 않습니다.

관련 정보