Java SSH从另一台远程计算机连接到远程计算机

问题描述:

我已经搜索过关于此问题的内容,分析了几种开源工具(如,,sshxcute),并找不到任何解决方案从远程计算机连接到远程计算机。我有的是:
1)机器B在防火墙后面,不可见于互联网(而不在我的基础架构中)
2)我可以从机器A连接到机器B(它也不在我的基础设施)
3)我需要从我的机器连接到机器A(非常简单的解决方案和任何列出的SSH库可以做到这一点),并从机器A到机器B(可能我缺乏有关SSH协议的知识或者没有列出的工具可以这样做?)。
我找到了一个允许描述连接场景的文件,它是J2SSH,但它不是免费的。问题是,是否有任何可以让我进行描述连接的免费库?
Java SSH从另一台远程计算机连接到远程计算机

+1

你看看Jsch吗?我不知道他们是否实现了你想要的,但它被广泛用于SSH。 –

+0

没有检查过JSCH,现在去学习它的文档。 – Serhiy

请参阅JSch的示例程序http://www.jcraft.com/jsch/examples/JumpHosts.java.html

$ wget http://www.jcraft.com/jsch/examples/JumpHosts.java 
$ wget http://sourceforge.net/projects/jsch/files/jsch.jar/0.1.48/jsch-0.1.48.jar 
$ javac -cp ./jsch-0.1.48.jar:. JumpHosts.java 
$ java -cp ./jsch-0.1.48.jar:. JumpHosts [email protected] [email protected] 
+0

谢谢,似乎符合我的需要。 – Serhiy

您需要了解SSH隧道。做你想做的事很容易。看看这个教程http://www.rzg.mpg.de/networkservices/ssh-tunnelling-port-forwarding。 '门'和'工作'大致相当于'B'和'A'。

+0

似乎它缺乏我对SSH的了解。但从我看到的(也许我会得到相同的问题,例如使用J2SSH)是防火墙:D – Serhiy