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

时间:2011-03-17 08:45:25

标签: java ssh

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

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

4 个答案:

答案 0 :(得分:5)

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

答案 1 :(得分:5)

JSch库肯定使这很简单,并支持端口转发:

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

答案 2 :(得分:0)

也许是Jsch

答案 3 :(得分:0)

我一直在使用Ganymede SSH-2取得了巨大的成功,实际上是第一次工作,令我惊讶。