[英]Java SSH connect to remote machine from another remote machine
我已经搜索过这个问题,分析了几个开源工具(比如Ganymed SSH-2 , SSHJ , sshxcute ),找不到任何从远程机器连接到远程机器的解决方案。 我有的是:
1)机器B在防火墙后面并且对因特网不可见(而不是在我的基础设施中)
2)我可以从机器A连接到机器B(这也不在我的基础设施中)
3)我需要从我的机器连接到机器A(非常简单的解决方案,任何来自列出的SSH库可以做到这一点),从机器A到机器B(可能我缺乏关于SSH协议的知识或者没有列出的工具可以做到这一点? )。
我发现一个lib允许描述的连接场景是J2SSH ,但它不是免费的。 问题是,是否有任何免费的库可以让我描述连接?
您需要了解SSH隧道。 做你想做的事很容易。 请查看本教程http://www.rzg.mpg.de/networkservices/ssh-tunnelling-port-forwarding 。 'gate'和'work'大致相当于'B'和'A'。
请参阅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
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.