2016-07-27 7 views
0

リモートのLinuxボックスでバイナリを実行するためにシェルスクリプトを実行しようとしています。バイナリスクリプトとシェルスクリプトの両方が私のローカルウィンドウマシンにあります。私はバイナリをリモートマシンにWindowsからコマンドラインツールを使って直接実行する方法はありますか?PLINKローカルのウィンドウからリモートのLinuxサーバにシェルスクリプトを実行していますか?

私はそれらを実行したいすべてのリモートLinuxボックスにバイナリとスクリプトを入れたくありません。代わりに、バイナリを呼び出すためのシェルスクリプトを実行したい、望ましい機能を実行します私のローカルマシンを介して直接。

答えて

0

あなただけのsshを通してそれをパイプにより、リモートでシェルスクリプトを実行することができます(。または任意のウィンドウ/ PLINK同等である)

cat my_script.sh | ssh -T my_server 

ただし、バイナリを実行することはできませんリモートでパイプを介してファイルをリモートサーバー上に存在させる必要があります。

scp my_binary my_server:/tmp 
cat my_script.sh | ssh -T my_server 

そしてちょうどあなたのスクリプトの実行を持っている:あなたは、リモートサーバー上の既知の場所にあなたのWindowsマシンからファイルをプッシュし、その場所に存在するファイルを期待するスクリプトを編集することによってこれを行うことができますそのバイナリ:

wget -O /tmp/my_binary http://my_fileserver/my_binary 
/tmp/my_binary 

注SHEL場合、:それはあなたがそれをホストしている中央の場所からバイナリファイルを引っ張るように

/tmp/my_binary 

またはスクリプトを書くことができますlスクリプトは、バイナリを起動する以外に何もしないので、必要ありません。コマンドを直接sshで起動することができます:

ssh -T my_server "cd /tmp && wget http://my_fileserver/my_binary && ./my_binary" 
+0

スクリプトが実行されるたびに入力されるログイン認証情報はどうなりますか? –

+0

毎回プロンプトを表示したくない場合は、パスフレーズのないSSH鍵を使用できます。 –

+0

オクラホマは意味があります。助けてくれてありがとう。 –

0

バイナリをリモートのLinuxボックスにコピーしてから実行する必要があります。しかし、バイナリプログラムを実行する前に/tmpの一時ディレクトリにsftpを使ってバイナリプログラムを転送するスクリプトをWindowsマシンに作成することができます。手動設定は必要ありません。

関連する問題