cron을 통해 ssh를 사용하여 rsync에 대한 비밀번호 없는 액세스가 실패함

cron을 통해 ssh를 사용하여 rsync에 대한 비밀번호 없는 액세스가 실패함

비밀번호(Ubuntu) 없이 SSH 키를 설정하고 이를 원격 서버(Centos6)에 복사했습니다. 내 사용자 이름으로 SSH를 사용하여 성공적으로 로그인할 수 있으며 비밀번호는 필요하지 않습니다.

터미널에서 루트가 아닌 사용자 이름으로 다음 스크립트를 실행하면 작동합니다. 내 사용자 이름으로 cron을 통해 실행하면 다음 응답과 함께 실패합니다.

Permission denied, please try again.
Permission denied, please try again.
Permission denied (publickey,gssapi-keyex,gssapi-with-mic,password).

스크립트는 다음과 같습니다.

#!/bin/bash
export PATH=/home/<username>/git/kodi-playercorefactory/bash-scripts:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin
rsync -rvzO  -e 'ssh -p 6135 -i /home/<username>/.ssh/id_rsa.pub' <username>@xx.xxx.xx.xx:<filename> <filename>

어떤 도움이라도 대단히 감사하겠습니다.

답변1

옵션에는 공개 키가 아닌 개인 키가 포함된 파일 이름을 입력해야 합니다 -i. ssh그러나 공개 키가 포함된 파일 이름을 name으로 지정했을 수도 있습니다 /home/<username>/.ssh/id_rsa.pub.

개인 키가 에 있다고 가정하면 /home/<username>/.ssh/id_rsa다음이 작동합니다.

rsync -rvzO  -e 'ssh -p 6135 -i /home/<username>/.ssh/id_rsa' <username>@xx.xxx.xx.xx:<filename> <filename>

관련 정보