Java中的简单SSH隧道[关闭]

Posted

技术标签:

【中文标题】Java中的简单SSH隧道[关闭]【英文标题】:Simple SSH Tunnel in Java [closed] 【发布时间】:2010-12-13 05:32:53 【问题描述】:

我想用 Java 创建一个 SSH 隧道。我注意到another post 上有很多 Java SSH 库。在我深入研究每个选项之前,也许有人可以给我一些代码 sn-ps,说明他们是如何做到的,或者至少告诉我哪个客户端库最适合。

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

【问题讨论】:

注意:这个问题也提供了关于这个主题的信息:***.com/questions/3954454/… 这是我在另一个类似问题***.com/a/16023513/311525 【参考方案1】:

嗯,正如另一个问题中指出的那样,JSch 确实是一个不错的选择,并且有几个示例here。 PortForwardingL.java 类可能是一个很好的起点。

【讨论】:

我喜欢这个库的 BSD 许可证。感谢您直接指向我需要查看的示例!【参考方案2】:

您可以使用多个库来执行此操作。我最喜欢的是 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);

【讨论】:

+1 哇。这很简单。太糟糕了,许可证有点奇怪(我没有提到我需要类似 BSD 的东西,这很糟糕)。我也试图接受这个作为答案,但 SO 只允许一个答案。我至少赞成你的回答。感谢您的帮助。

以上是关于Java中的简单SSH隧道[关闭]的主要内容,如果未能解决你的问题,请参考以下文章

如何关闭这个 ssh 隧道? [关闭]

如何使用 Python 和 Paramiko 创建 SSH 隧道?

通过 ssh 隧道进行 rsync [关闭]

Java:SSH 隧道 - 将本地 SOCKS 设置为侦听器

通过 ssh 隧道的 ftp [关闭]

如何在MacOS上创建ssh隧道? [关闭]