비밀번호(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>