원격 호스트간에 rsync를 실행해야합니다 (이유는 나중에 설명합니다). rsync에서 지원되지 않습니다 (맨 페이지 참조). 그러나, 나는 그것이 ssh 터널을 사용하여 가능해야한다고 생각한다. 나는 그것이 지금까지 작동하도록 할 수 없었고 나는 잘못된 것을하고 있다고 생각합니다. 다음 스 니펫을 살펴보십시오.두 원격 간의 Rsync
ssh -R localhost:50000:remotesource:22 [email protected] -f -N
sleep 5 #To wait for the tunnel to establish
ssh [email protected] rsync -e "ssh -p 50000" --progress --append-verify [email protected]:~/sourcefiles ~/destdir'
이것은 기본적으로 rsync 내부 SSH 인증 중에 끊깁니다. 그냥 그것을 테스트하기 위해, 나는 remotedestination에 연결하고 터널을 통해 원격 소스로 ssh하려고 노력하고 그게 효과가! rsync가 다르게 여기에있는 것을 잊어 버리고 있습니까?
왜 이것을하고 싶습니까? 일반적인 호기심에도 불구하고 리모트 소스는 데이터를 푸시 할 수없고 리메 네 스티 네이션 (remotedestination)에만 공유 계정이있는 컴퓨터입니다. 연결 문제가 자주 발생하기 때문에 오류가 발생할 경우 rsync를 다시 시작하기위한 스크립트를 작성하려고했습니다. 이를 위해 키 파일 (sshpass 또는 유사하게 설치되지 않음)을 통해 인증해야합니다. 하지만 공유 계정의 홈 디렉토리에 개인 키를 저장하지는 않을 것입니다. 따라서 로컬 PC를 통해 인증이 이루어지기를 바랍니다.
누군가 내 오류를 지적 할 수 있기를 바랍니다. 나는 그것을 보지 못합니다 :-) 감사합니다!
나는 그것이 불행하다는 것을 알았다. 그것에 대해 생각할 것입니다. 데이터 양에 관해, 우리는 몇 TB를 이야기하고 있습니다. 그래서 연결이 끊어진 후에 rsync를 다시 시작할 수 있어야합니다. – Alex
그 문제에 대한 나의 개인적인 해결책은 타이프했을 때 암호를 입력 할 수있는 작은 스크립트를 작성하는 것입니다. – ams
sshpass가 설치되어 있지 않으므로 어떻게해야합니까? – Alex