我需要使用SSH連接從遠程計算機上獲取了一些文件,但問題是:傳輸文件低谷SSH隧道與Java
客戶端(運行Windows),我會跑我的應用程序的計算機連接到包含文件(運行Unix)的網絡在那裏我可以看到服務器的遠程(第二臺計算機(運行Unix),在相同的網絡),我可以用它做SSH連接,但電腦是不是在這個網絡中,我只可以連接這個低谷動態隧道SSH的第二臺電腦,在這裏我通常使用膩子的配置此連接,然後我就可以訪問遠程文件打開。
下圖展示的架構,(防火牆就像是第二A機)
我需要自動進行這項工作,所以我已經做了一些試驗用java和JSch庫,這裏是一些代碼:
/* Direccion y puerto del host local */
String host = "localhost";
int lport = 5040;
/* Direccion y puerto del host remoto*/
String rhost = "localhost";
int rport = 80;
/* Usuario y password para conectarse al servidor ssh*/
String user = "test";
String pwd = "test";
try{
JSch jsch=new JSch();
Session session=jsch.getSession(user, host, 22);
session.setPassword("test");
Properties config = new Properties();
config.put("StrictHostKeyChecking","no");
session.setConfig(config);
session.connect();
int assinged_port=session.setPortForwardingL(lport, rhost, rport);
System.out.println("localhost:"+assinged_port+" -> "+rhost+":"+rport);
我連接,但是當我運行一個命令全光照對象的會話的答案是從第二臺機器不是從如我所料的第三臺機器,我想知道是否有ANOT她的圖書館,有助於使這項工作或我使用錯誤的JSch。
維基鏈接不工作了 – sjngm 2017-08-04 15:16:45
這是不幸的 - 看起來像SourceForge上得到了(至少在這個項目)擺脫它們鏈接到MediaWiki功能。我會看看我是否有某個版本的這個類存儲在某個地方。 – 2017-08-04 16:44:36