SSH を使用してスクリプト ファイルをリモートで呼び出すことを防ぐ

SSH を使用してスクリプト ファイルをリモートで呼び出すことを防ぐ

スクリプトがリモートで呼び出されないようにしようとしています。ユーザーはまずSSHログインしてからスクリプトを実行する必要があります。

ssh remote-server "script.sh"失敗するはず

ssh remote-serverログイン後は ./script.sh動作するはずです

所有権を変更して適用することはできますchmodが、リモートユーザーはssh remote-server "sudo -u newuser ./script.sh"

AWS EC2インスタンスの使用

答え1

ssh foo@remote-serverの後に を実行すると、./script.shを実行するのと同じになりssh foo@remote-server ./script.shssh foo@remote-serverの後にを実行するとsudo -u bar ./script.sh、 と同等になりますssh foo@remote-server sudo -u bar ./script.sh(ただし、sudoTTY が必要なので失敗する可能性がありますが、これは簡単に回避できます)。したがって、質問の内容が意味をなさないことは残念です。 または の存在をテストするなど、この人為的な違いを回避するために行うことは、$TERMおそらく[ -t 0 ]簡単に回避できます。

関連情報