我已经搜索过这个问题,分析了几个开源工具(如Ganymed SSH-2、SSHJ、sshxcute),但找不到从远程机器连接到远程机器的任何解决方案。我所拥有的是:
1)机器 B 在防火墙后面,对 Internet 不可见(而不是在我的基础设施中)
2)我可以从机器 A 连接到机器 B(这也不在我的基础设施中)
3)我需要从我的机器连接到机器 A(非常简单的解决方案,任何列出的 SSH 库都可以做到这一点)以及从机器 A 连接到机器 B(可能我缺乏关于 SSH 协议的知识,或者列出的工具都不能做到?)。
我找到了一个库,它允许描述的连接场景是J2SSH,但它不是免费的。问题是,是否有任何免费库可以让我进行描述的连接?
问问题
1907 次
2 回答
1
您需要了解 SSH 隧道。做你想做的事很容易。看看这个教程http://www.rzg.mpg.de/networkservices/ssh-tunnelling-port-forwarding。“门”和“工作”大致相当于“B”和“A”。
于 2012-05-04T09:50:00.390 回答
1
参考 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 usrA@hostA usrB@hostB
于 2012-05-04T17:13:09.383 回答