自動SSHは手動で実行されますが、バックグラウンドでは実行されません。

自動SSHは手動で実行されますが、バックグラウンドでは実行されません。

@rebootcronで次のスクリプトを実行していますroot

autossh -f -i /home/pi/.ssh/myRemote.pem -R 2210:localhost:22 [email protected]

手動で実行すると正常に動作しますが、cronログに失敗し続けるとマークされます。

Nov 25 01:15:56 kirkins autossh[1936]: starting ssh (count 1)
Nov 25 01:15:56 kirkins autossh[1936]: ssh child pid is 1947
Nov 25 01:16:01 kirkins autossh[1936]: ssh exited prematurely with status 130; autossh exiting
Nov 25 01:16:40 kirkins autossh[605]: starting ssh (count 13)
Nov 25 01:16:40 kirkins autossh[605]: ssh child pid is 1949
Nov 25 01:16:40 kirkins autossh[605]: ssh exited with error status 255; restarting ssh
Nov 25 01:18:48 kirkins autossh[605]: starting ssh (count 14)
Nov 25 01:18:48 kirkins autossh[605]: ssh child pid is 1970
Nov 25 01:18:49 kirkins autossh[605]: ssh exited with error status 255; restarting ssh

何が間違っているのか知っている人はいますか?他のStackExchangeサイトで関連記事を見たことがありますが、どのソリューションも私には役に立ちませんでした。

答え1

その理由は、おそらくssh制御端末なしで始まるという事実が気に入らないからです(cron子供は制御端末がありません)。

あなたは試すことができますssh -tt。またはscreen/内で実行してくださいtmux

関連情報