ssh許可はcronジョブでのみ拒否されました
非常に奇妙な問題がある。(公開鍵認証を使用して)sshを介してリモートホストでコマンドを実行する小さなbashスクリプトを作成しました。 このスクリプトをコマンドラインから手動で実行すると正常に動作しますが、/ etc / cron.hourlyに配置するとPermission denied, please try again.エラーで失敗します。 を使用して、スクリプトでキーを明示的に設定しましたssh -i /root/.ssh/id_rsa user@remote "command"。 スクリプトはrootとして実行されています(私echo `id` > /tmp/whoami.logはダブルチェックに追加しました); そして sshキーはパスワードで保護されていません... システムはUbuntu 12.04サーバーです。リモート側でトラブルシューティングを行うためのアクセス権はあまりありませんが、前述のように、sshを手動で実行するか、コマンドラインから同じbashスクリプトを実行できます。 なぜこれが起こっているのか、それをどのように修正するのか? 更新 私が間違っていたことがわかり、sshキーがパスワードで保護されていた(キーチェーンがssh-agentをロードしている)ため、スクリプトから失敗したのに、bashセッションから実行したときに失敗しなかったのです。. ~/.keychain/$HOSTNAME-shスクリプトに追加することで問題が解決しました(正しい方向に私を指して包括的な回答を提供してくれた@grawityに感謝します)。