スクリプトが他のマシンにあり、すべて同じネットワーク上にあるときに、他のマシンからリソースを取得する SSH を使用してシェル スクリプトを実行したいと考えています。リソースをローカル マシンにコピーしたくありません。
注: シェル スクリプトは .txt ファイルを入力として受け取ります。
これを試して:
ssh USER_NAME@HOST_ADDRESS "BASH_SCRIPT_FILE_PATH"
必要に応じてパスワードを提供する必要があります。
スクリプトがマシン A にある場合、それをコピーせずにマシン B で実行することはできません。まず、scp を使用してスクリプトをマシン B にコピーします。
[user@machineA]$ scp /path/to/script user@machineB:/home/user/path
次に、スクリプトを実行するだけです
[user@machineA]$ ssh user@machineB "/home/user/path/script"
これは、スクリプトに実行権限を与えている場合に機能します。
また
これを試してみてください..
<hostA_shell_prompt>$ ssh user@hostB "ls -la"
hostA ユーザーの公開鍵をユーザー .ssh のディレクトリのホームにある authorized_keys ファイルにコピーしていない限り、パスワードの入力を求めるプロンプトが表示されます。これにより、パスワードなしの認証が可能になります(sshサーバーの構成で認証方法として受け入れられた場合)