2013-04-25 44 views
2

我正在爲公司內部使用編寫一個java webstart應用程序。它使用JSch連接並允許端口轉發到我們的數據中心之一的服務器。我不希望用戶每次看到這個消息時,運行應用程序:阻止Java從請求權限接受連接

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

有什麼辦法我取消此消息?

+0

您是否確實需要從程序外部轉發連接,或者您的程序本身是唯一使用轉發端口的連接? – 2013-05-11 16:29:15

回答

1

您是否確實需要從程序外部轉發連接,或者您的程序本身是唯一使用轉發端口的連接?

如果前者,沒有什麼可以做的。您可能會嘗試以不同的方式配置權限,但是您會針對這些權限提出問題。或者您可以在客戶端的JRE上設置權限,但我不確定這將如何完成。

如果Webstart的程序本身正試圖通過SSH連接來訪問內部服務器,目前正在建立一個socket到你的JSch會話監聽本地端口,你可以做的更好:

與其打開的一個Socket,打開一個direct-tcp channel並使用它的輸入和輸出流。現在沒有本地端口需要打開,並且沒有安全問題。

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會話,see my ProxySSH example

+0

多酷,謝謝你的這個想法 – 2013-05-13 16:11:28