2

社内で使用するための Java Webstart アプリケーションを作成しています。JSch を使用して、データセンターの 1 つのサーバーに接続し、ポート転送を許可します。ユーザーがアプリケーションを実行するたびにこのメッセージを表示したくありません。

http://img33.imageshack.us/img33/5103/permissionsr.jpg

このメッセージを抑制する方法はありますか?

4

1 に答える 1

1

プログラムの外部からの接続を実際に転送する必要がありますか、それとも転送されたポートを使用しているのはプログラム自体だけですか?

前者の場合、できることはあまりありません。アクセス許可を別の方法で構成しようとする場合もありますが、そうすると、それらのアクセス許可について質問されることになります。または、クライアントの JRE にアクセス許可を設定することもできますが、それがどのように行われるかはわかりません。

Webstart プログラム自体が SSH 接続を介して内部サーバーにアクセスしようとしていて、現在 JSch セッションがリッスンしているローカル ポートへのソケットを開いている場合は、次のようにするとよりうまくいく可能性があります。

Socket を開く代わりに、direct-tcp チャネルを開き、その入力ストリームと出力ストリームを使用します。これで、ローカル ポートを開く必要がなくなり、セキュリティに関する質問もなくなりました。

ChannelDirectTCPIP channel = (ChannelDirectTCPIP)gateway.openChannel("direct-tcpip");
channel.setHost(host);
channel.setPort(port);
// important: first create the streams, then connect.
InputStream iStream = channel.getInputStream();
OutputStream oStream = channel.getOutputStream();
channel.connect();

// now write to oStream and read from iStream

これを使用して、JSch セッションを別の JSch セッションにトンネリングしました。私の ProxySSH の例 を参照してください。

于 2013-05-11T23:07:15.103 に答える