2012-02-17 10 views
3

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

+0

あなたが本当にアプレットは、あなた(または誰か他の人の)サーバーにログインして実行しますか誰かがあなたのWebページにアクセスするたびにコマンドを実行しますか?そして出力は訪問ユーザーに表示されるはずですか?あるいは、実際に何をしたいのですか? –

+0

sshで自動的にパスワードを設定してログインする必要があります。これはすべて同じLAN上にあります。それはどこにも行かない。まず、IPアドレスを検証し、そのIPアドレスにログインするためにアプレットが必要です。 –

+0

私は別の方法でそれを行うことができれば、私はそれのためにも開いています。私はJSCHに固執していません。私はそれがウェブページを通過する必要があります。 –

答えて

3

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

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

(Webサーバが実行するサーバと同じマシンの場合SSH接続は必要ありませんが、直接実行することもできます)。

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

あなたのLANに悪意のあるユーザー(Webサーバーとユーザーの間で、SSHサーバーは関係ありません)を恐れる必要がない場合は、パスワード(または、好ましくは公開キーの秘密キー認証)をアプレットのjarファイルに追加し、ライブラリに渡して接続します。

ChannelShellの代わりに)にコマンドを入力すると、(必要に応じて)入力を提供して出力をキャプチャしやすくなります。テキスト領域に出力をパイプするか、またはコマンドが正常に実行されたかどうかを示す緑色/赤色のラベルを使用します。

(私は次の日にこれを見ていないし、それを実行しようとします。いかなる約束を、しかし。)

+0

したがって、現在のアプレットのjarファイルを、埋め込まれたユーザー名とパスワードで変更しますか? –

+0

コードを追加する手順が正しいかどうかを教えてください。私が言ったように、私はJavaに偉大ではない。 jarファイル内のクラスファイルに行を追加します。jarファイルに再コンパイルし、アプレットに追加しますか?それは行く方法ですか? –