내가 할 필요 rsync
가 ssh
와의 암호를 통과 할 필요없이 자동으로 수행 할 ssh
수동으로.
답변
스크립팅 된 ssh 로그인에는 암호없이 키 파일을 사용해야합니다. 이것은 분명히 보안 위험이므로 키 파일 자체가 적절하게 보호되도록주의하십시오.
답변
“sshpass”비대화 형 ssh 암호 공급자 유틸리티 사용
Ubuntu에서
sudo apt-get install sshpass
rsync 명령
/usr/bin/rsync -ratlz --rsh="/usr/bin/sshpass -p password ssh -o StrictHostKeyChecking=no -l username" src_path dest_path
답변
rsync
환경 변수 RSYNC_PASSWORD
를 사용하려는 암호 로 설정 하거나 --password-file
옵션 을 사용하여 명령 에서 암호 프롬프트를 피할 수 있습니다 .
답변
공개 / 비공개 키를 사용할 수없는 경우 다음과 같이 사용할 수 있습니다.
#!/usr/bin/expect
spawn rsync SRC DEST
expect "password:"
send "PASS\n"
expect eof
if [catch wait] {
puts "rsync failed"
exit 1
}
exit 0
SRC 및 DEST를 일반 rsync 소스 및 대상 매개 변수로 바꾸고 PASS를 비밀번호로 바꿔야합니다. 이 파일이 안전하게 저장되었는지 확인하십시오!
답변
다음과 같이 작동하도록했습니다.
sshpass -p "password" rsync -ae "ssh -p remote_port_ssh" /local_dir remote_user@remote_host:/remote_dir
답변
ssh 키를 사용하십시오.
봐 ssh-keygen
와 ssh-copy-id
.
그런 다음 다음과 같이 사용할 수 있습니다 rsync
.
rsync -a --stats --progress --delete /home/path server:path
답변
또 다른 흥미로운 가능성 :
- RSA 또는 DSA 키 쌍 생성 (설명 된대로)
- 공개 키를 호스트에 넣기 (이미 설명했듯이)
- 운영:
rsync --partial --progress --rsh = "ssh -i dsa_private_file"host_name @ host : / home / me / d.
참고 : RSA / DSA 개인 키인 -i dsa_private_file
기본적으로이 접근 방식은 @Mad Scientist가 설명한 접근 방식과 매우 유사하지만 개인 키를 ~ / .ssh에 복사 할 필요는 없습니다. 즉, 임시 작업 (비밀번호없이 한 번만 액세스)에 유용합니다.