2009-04-21 10 views
6

.NETアプリケーションから実行したいAIXスクリプトがあります。私はそれが私に良いオプションを与える場合、Windowsのバッチファイルを蹴ることに反対していない。WindowsからUNIXシェルスクリプトを実行する方法

私がGoogleで見たことのほとんどは、rshやPlinkなどのツールの使用、またはsshやtelnetの使用に関するものです。私はrshやPlinkへのアクセス権を持っていません(私はPuTTYを持っていて、おそらくPlinkを得ることができます)。私はAIXボックスにsshすることができますが、telnetは無効になっています。

ユーザーの資格情報を渡す方法が必要です。

誰でもWindowsアプリケーションからUnixスクリプトを呼び出す最良の方法をお勧めしますか?

答えて

5

cygwinをインストールします。 ssh関数をインクルードします。あなたのsshキーを設定する - ウィンドウ上の秘密鍵、AIXボックス上の公開鍵。その後、 "ssh user @ aixbox script-on-aix-box.sh"を実行することができます。

scpを使用してファイルをAIXに最初にコピーすることはできますが、AIXでスクリプトを作成するのが最適です。 sshを介して長いコマンドラインを渡すとエラーが発生しやすくなります - sshであるのではなく、.NETからsshを介してkshに渡すように適切に設定されているか、AIX上で実行されているものは苦痛です。できるだけシンプルなものにしておくことがベストです。複数のことを行うスクリプトにすることができます。

は別のコメントのためには時間がかかりすぎるあなたのコメントを、答えるために:

(1)なぜWindowsのSSHユーティリティの代わりにCygwinのsshのユーティリティを使用して良いですか?

a)Windows sshユーティリティ(Windowsにはsshユーティリティが付属していることさえ知りませんでした)とb)cygwinのsshユーティリティは、私たちのUnixフリークが大好きな標準のSSHです。 :-)

(2)どのようなキーですか?それはクロスプラットフォーム認証を可能にしますか、それともパスワードを非対称に暗号化する方法ですか?

キーを使用すると、パスワードなしでアクセスできます。秘密鍵をパスワードなしで設定すると(通常はお勧めしませんが、マシンを安全に保つことができれば自動化されたツールでうまくいきます)、パスワードプロンプトを表示せずにsshを実行できるようになります。 。

+2

答えをありがとう。 2つの関連する質問:(1)Windows sshユーティリティの代わりにcygwinのsshユーティリティを使用する方が良い理由は何ですか? (2)キーは何ですか?それはクロスプラットフォーム認証を可能にしますか、それともパスワードを非対称に暗号化する方法ですか? –

+0

実際、私はそれがWindowsに組み込まれているとは思わない(自分の悪い仮定)。私はそれが私たちがインストールしたサードパーティのユーティリティだと思います。 sshで問題が発生した場合はcygwinを試してみましょう。再度、感謝します。 –

3

のssh [email protected]「猫somefile.log」

(猫somefile.logを実行したいコマンドに置き換えられている)

私はそれを行うための最も簡単な方法は、と思います.net appから呼び出されるバッチファイルからsshプログラム(ssh、plink、またはその他のもの)を呼び出すことができます。

1

私はcygwinの提案を2番目に挙げていますが、他にもMicrosoftのServices for UNIXというオプションがあります。

1

私が行うことは、.Netアプリケーションが実行できるAIXボックスにサービス(https)インターフェイスをセットアップすることです。これは本当にあなたのスクリプトをAIXボックスに公開する方法の問題です。 IMHO Java + Tomcatを使用すると、AIXボックスでセットアップを開始するだけで、エクスポージャーを制限したり、AIXサービスの認証チケットを要求したりすることができます。これは建築的な決定としての.Netの質問ではありません。

他の人が提案してきたように

--edit--、あなたにもCygwinを使用することができます。 .Net用のSSHコンポーネントもあります。これはあなたにとってより透明性があります。 (およびFOSS

+0

私はAIXのサービス提案も好きです。 – Tanktalus