パスワード(Ubuntu)なしでSSHキーを設定し、それをリモートサーバー(Centos6)にコピーしました。私のユーザー名としてSSHを使用して正常にログインでき、パスワードは必要ありません。
端末でroot以外のユーザー名で次のスクリプトを実行すると、動作します。私のユーザー名で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>