나는 ssh 쉘을 통해 rsync를 처리 할 것을 기대하지만 사용하지 않으려 고 노력하고있다.
내 rsync 명령을 실행하면 작동합니다 (여기 단순화) : 암호를 입력하라는 메시지가 나타나고 파일을 서버에 복사합니다.
rsync -e ssh -<other_params>
그런 다음 그것을 예상에 포함 시키면 :
expect -d -c "spawn rsync -e ssh -<other_params>" -c "expect password:" -c "send mypass\r"
프로그램이 제대로 실행되지 않고 프로그램이 존재하며 파일이 복사되지 않습니다. 디버그 모드조차도 많은 단서를 제공하지 않습니다.
내 생각에 rsync는 ssh 프로세스를 생성하고 ssh 프로세스는 상호 작용할 필요가 있지만 send는 rsync 프로세스 ID를 가져 와서 거기에 입력을 보내는 것입니다.
이견있는 사람?
1
공개 키 / 암호가없는 로그인을 위해 ssh를 설정할 수 있습니까? 그렇다면 기대를 없앨 수 있습니다. 그렇지 않다면 파이프가 아닌 pty로 서브 프로세스를 생성 해보십시오 (파이프 라인이 수행중인 경우).
—
Keith