可以使用Java打开SSH隧道吗?

Sma*_*ain 5 java ssh

我想在Java程序中打开SSH隧道,以便系统的其余部分也可以访问连接(例如,如果我将数据库的端口转发到localhost,我应该能够在另一个中打开数据库程序)...换句话说,我需要做的就是为unix命令ssh创建一个Java包装器.但是我需要程序是跨平台的,所以如果可能的话我想使用Java库.

这是可能的(我一直在查看不同的库,但是无法创建隧道,因此系统的其余部分可以使用它)

Sac*_*acx 5

我在基于Jcraft的Jsch的beanizer文章中取得了成功.以下是更多详细信息:http://www.beanizer.org/site/index.php/en/Articles/Java-ssh-tunneling-with-jsch.html


Whi*_*g34 5

JSch库绝对让这个简单,并支持端口转发:

JSch jsch = new JSch();
Session session = jsch.getSession(user, host);
session.setPassword(password);
session.connect(timeout);
session.setPortForwardingL(listenPort, destHost, destPort);
Run Code Online (Sandbox Code Playgroud)