SSH를 통해 연결할 RSync 작업을 설정하고 싶습니다.
내 컴퓨터 (backup @ myhost)와 원격 호스트 (test @ remhost)가 있으며 ~ / something 폴더를 모든 내용으로 백업해야합니다. ssh 사용자 테스트에는 ~ / 폴더의 모든 파일 및 폴더에 대한 읽기 권한 만 있습니다. rsync를 사용하여 test @ remhost : ~ / something 폴더를 backup @ myhost : ~ / bak 폴더에 복사하고 싶습니다.
이를 위해 Ubuntu 11.10 (Oneiric)에서 BASH를 통해 다음 명령을 사용합니다.
rsync -avz -e ssh test@remhost:~/something/ ~/bak/
Enter 키를 누른 후 나는 이것을 얻습니다 :
test@remhost's password:
암호를 입력하면 rsync가 작동합니다.
위의 명령으로 암호를 자동으로 입력하고 매개 변수로 전달하거나 자동으로 입력하여 작업을 시작하려고합니다.
나는 실행을 시도 rsync -avz -e ssh test:password@remhost:~/something/ ~/bak/
했지만 여전히 암호를 요구하고 성가신입니다.
어떤 종류의 키 (RSA, DSA 또는 다른 키)에 대해서도 듣고 싶지 않습니다. 나는 로그인하고 작업을 수행하는 간단한 명령을 원합니다.
편집 : 공개 키 인증이 비활성화되어 변경할 수없는 경우 가능한 시나리오가 될 수 있습니다. 예를 들어 OpenSSH를 사용하는 경우 파일을 편집하고 sshd_config
추가 하려면 서버에 대한 루트 권한이 필요 합니다 PubkeyAuthentication yes
.
편집 : 이것은 마침내 나를 위해 일한 것입니다 :
sshpass -p 'sshpassword' rsync --progress -avz -e ssh test@remhost:~/something/ ~/bak/
이 방법은 암호를 일반 텍스트로 보내므로 MITM (Man-in-the-Middle) 공격에 취약하므로 안전한 것으로 간주되지 않습니다. 보다 강력한 보안을 위해 주요 탤런트를 사용하는 것이 좋습니다.