2

JSCH SSH Java アプレットを Web ページに埋め込んでおり、(PHP などの任意の言語の) スクリプトを実行して、ログインとコマンドの実行を自動化できるかどうかを知る必要があります。私は、expect4j と Java ロボットについて聞いたことがありますが、それを実装する方法がわかりません。私はJavaが得意ではないので、Javaについてすべてを知っているわけではありません。どんな助けでも大歓迎です。

4

1 に答える 1

2

JSchは SSH クライアント ライブラリであり、それ自体ではプログラムによって操作された別のサーバーへの接続のみを許可します。ユーザー インタラクションは、ライブラリのユーザーによって構築される必要があります。

Web サイトで提供されているJCTermアプレットには、Java GUI 形式のターミナル エミュレータも含まれています。いくつかのコマンドを自動的に実行したい (そしておそらくその出力を Web ページに表示したい) だけなら、サーバー側ですべてを行うことができ、端末エミュレーターを備えたアプレットは必要ありません。(ただし、サーバー側にPHP-Javaブリッジが必要になるか、サーブレットなどを備えたJava対応のWebサーバーが必要になります。)

(Webサーバーがコマンドを実行するサーバーと同じマシンである場合、SSH接続さえ必要ありませんが、直接実行できます。)

サーバーが何もできない場合 (つまり、「静的サーバー」)、アプレットが最適です。JCTerm を変更するか、新しいアプレットを最初から作成することができます (サーバーへの接続方法の例として、JCTerm の接続コードを使用します)。

LAN 内で悪意のあるユーザーを恐れる必要がない場合 (つまり、Web サーバーとユーザーの間、SSH サーバーは問題ではありません)、パスワード (またはできれば公開鍵認証用の秘密鍵) をアプレットの jar ファイルを作成し、それをライブラリに渡して接続します。(簡単に確認できるように、サーバーの公開鍵も含める必要があります。)

コマンドを ( のChannelExec代わりにChannelShell) に提供します。これにより、入力 (必要な場合) の提供と出力のキャプチャが容易になります。出力をテキスト領域にパイプするか、単にコマンドが正常に実行されたかどうかを示す緑/赤のラベルを使用します。

(私は次の日にこれを見て、それをしようとするかもしれません。しかし、約束はしません.)

于 2012-02-17T21:34:20.287 に答える