Java中的简单SSH隧道

我想用Java创建一个SSH隧道。 我在另一篇文章中发现了不少Java SSH库。 在深入研究每个选项之前,也许有人可以给我一些他们如何做到的代码片段,或者至少告诉我哪个客户端库最适合。

我只需要隧道。 我不需要文件传输,终端仿真等等。是否有简单的几行代码可以转发服务器上的端口以在我的客户端的localhost适配器上工作? 理想情况下,客户端和服务器都是Java,但我现在只会满足于客户端。

好吧,正如另一个问题所指出的, JSch确实是一个很好的选择,并且在这里有几个例子。 PortForwardingL.java类可能是一个很好的起点。

您可以使用多个库来执行此操作。 我最喜欢的是MindTerm包里面的ssh库,

http://linuxmafia.com/pub/java/ISNetworks-MindTerm-1.2.1-SCP3.tar.gz

您可以打开这样的隧道连接,

SSHSocketFactory fact = new SSHSocketFactory(sshHost, sshPort, new SSHPasswordAuthenticator(sshUser, sshPassword)); sock = fact.createSocket(host, port);