web-dev-qa-db-ja.com

SSH経由でリモートコンピューターでリモートスクリプトを実行する

マシンBで実行したいマシンBのbashスクリプトがあります。現在マシンAを使用しています。これは可能ですか?

これまでのところ、スクリプトが次のコマンドを使用してマシンAに存在する場合にのみ、なんとか実行できました。

ssh user@machineb 'bash -s' < /path/machinea/script.sh

このリモートスクリプトをローカルにコピーする必要はありません。 SSHを介してローカルマシンからリモートマシンでこのリモートスクリプトを実行する方法はありますか?

5
Andrew

man sshから:

commandを指定すると、ログインシェルではなくリモートホストで実行されます。

ここでcommandはsshの最後の引数です

したがって、あなたがしなければならない唯一のことは呼び出すことです:

ssh user@machineb 'bash -s /path/to/script'

基本的に、上記で提供したコマンドは、マシンAのスクリプトをsshにリダイレクトします。これにより、スクリプトがネットワークを介して送信され、マシンBで実行されます。マシンBでローカルにスクリプト/コマンドを実行する手間がさらに軽減されます。

7
lyang