web-dev-qa-db-ja.com

リモートWindowsマシンからUbuntuでBashスクリプトを実行しますか?

私はubuntu10.4マシンにbashスクリプトを持っています。それは共有されており、\\LINUX-SERVER\bash_repo\make-liveを使用してwin7マシンからアクセスできます。

しかし、私がそうすると、windowsはそれを開こうとします。これは私が望むものではありません。 buntuにexecuteitを伝えたい。

私は実際に、ユーザーがボタンをクリックして、ubuntuマシンのbashスクリプトに実行するように指示するWindows上でGUIアプリを構築できることを望んでいます。

これは可能ですか?

5
JD Isaacks

PuTTYのメーカーからのplinkを試しましたか? http://www.chiark.greenend.org.uk/~sgtatham/PuTTY/download.html

次のように、ubuntuマシンでスクリプトを実行できるはずです。

plink.exe -ssh -pw pass -noagent user@linux-server /path/to/your/script/make-live
6
bee

他の人が示唆しているように、sshを使用してCLIセッションを取得したり、アクセス可能なプログラムでラップしたりできますが、ネットワーク共有としてアクセスできるということは、Sambaが構成され、実行されていることを意味します。Sambaにファイルを実行させる方法は多数あります。 (例:マジックスクリプト、winpopups、svcctl) rtfm 詳細については。

0
symcbean

上記の私のコメントで示唆されているように、ubuntuマシンでWebサーバーを実行している場合は、PHPからスクリプトを実行できます。

次のような小さなPHPスクリプトで十分です。

<?php
$output = Shell_exec('bash /path/to/your/script');
echo "$output";
?>

PHPコードを/var/www/exec.phpなどのファイルに保存し、ブラウザで任意のマシンからURL http://your_ubuntu_machine_ip/exec.phpを指定します。

スクリプトはwww-dataユーザー(デフォルトのApache Webサーバーユーザー)として実行されることに注意してください。 Sudoを使用して特権コマンドを実行する場合は、sudoersを使用してwww-dataユーザーをvisudoファイルに追加する必要があります。

次のようなエントリが必要です。

www-data   ALL=NOPASSWD: /path/to/command
0
Khaled