質問: ### 前提・実現したいこと cronでリモートサーバにてSCP及びssh接続を自動実行させようとしています。 SSH接続にはssh agentを使用しています。 ### 発生している問題・エラーメッセージ 以下のようにpermission deniedされてしまいます。 ``` Permission denied (publickey). ``` ### 該当のソースコード ``` #!/bin/sh AGENT=`ls -lt /tmp/ssh*/agent*` if [ -z "${AGENT}" ];then ## agentファイルが作成されていなければ以下のコマンドで作成 eval `ssh-agent` ssh-add TEMPAGENT="ON" ## 権限も変更します。 chmod 775 `ls -lt /tmp/ssh*/agent* | awk '{print $9}'` fi ##環境変数の${SSH_AUTH_SOCK}もcronだと最初は空になっている可能性があるので ##その場合はexportします。 if [ -z "${SSH_AUTH_SOCK}" ];then export SSH_AUTH_SOCK=`ls -ltr /tmp/ssh*/agent* | head -n 1 | gawk '{print $9}'`;fi ##以下のファイルも権限変更します。 chmod 0600 ~/.ssh/authorized_keys scp -i ~/.ssh/authorized_keys remote:/home/user/test.csv ./ ##冒頭でagent作成していれば削除 if [ -n "${TEMPAGENT}" ];then eval `ssh-agent -k`;fi ``` ### 試したこと echoで以下の状態を確認しました。 ・「ls -lt /tmp/ssh*/agent* 」の結果はeval agentで作成した agentファイルのみ。 ・${SSH_AUTH_SOCK}にも上記ファイルがexportされている ・権限もsrwxrwxr-xになっている。 他に設定すべきコマンドなどご存知でしたらご教授いただけますでしょうか。
回答: `scp -i ~/.ssh/authorized_keys remote:/home/user/test.csv ./` とありますが、 authorized_keys は秘密鍵では無いような...?