スクリプトはsudoなしで実行されますが、sudoでは失敗します。

スクリプトはsudoなしで実行されますが、sudoでは失敗します。

このスクリプトを起動すると:

#!/bin/bash -v
sshpass -p '<pypasswd>' scp blah.img root@myip:/home/user/blah.img
exit 0

そして

./script.sh

または

nohup ./script.sh &

効果がある

しかし、私がするとき

nohup sudo ./script.sh &

失敗しました(何もアップロードされておらず、再現できない認証エラーが発生したことがあります)。なぜ?


注:私は通常nohup sudo ./script.sh &他のスクリプトにこれを使用し、通常は完璧に動作します。

sudo注2:スクリプトにsudoが必要な他の項目があるため、これが必要です。

ベストアンサー1

myipそこには記録がないようです/root/.ssh/known_hostssudo ssh root@myipスクリプトを実行する前に対話的に試してください。

または、ホストキー検証を無効にすることもできます。

#!/bin/bash -v
sshpass -p '<pypasswd>' scp -o StrictHostKeyChecking=no blah.img root@myip:/home/user/blah.img
exit 0

おすすめ記事