このテストcronジョブがあります
30 15 * * * /usr/bin/sshpass -f /path/to/secret_file ssh -p someport user@host 'ls -la'
経由で作成されたユーザーの場合crontab -e
。動作せず、何も起こりません。
コマンドを実行するだけで問題なく動作します。cron ジョブを実行するユーザー (私のユーザー) は secret_file を読み取ることができます。
なぜ機能しないのでしょうか?
ありがとう
アップデート:
キーとキーチェーンを使用して、次のようなスクリプトを作成することで解決しました。
#!/bin/bash
eval `/usr/bin/keychain --noask --eval id_rsa`
/usr/bin/ssh -p someport user@host 'ls -la'
sshpass の方法が機能しないことを誰かが知っているかどうかを確認するために、この質問をオープンのままにしておきます。