19

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

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

4

2 回答 2

26

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

于 2009-11-04T23:37:56.940 回答
22

您可以使用多个库来执行此操作。我最喜欢的是 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);
于 2009-11-05T02:19:03.487 回答