我希望能够远程连接到公开了JMX的Java服务,但它被防火墙阻止了。我尝试使用ssh本地端口转发,但是连接失败了。查看wireshark,当您试图与jconsole连接时,它似乎希望在连接到端口9999后通过一些短暂的端口进行连接,这些端口被防火墙阻止。
有没有什么方法可以让jconsole只通过9999连接或者使用代理?这篇文章还是最好的解决方案吗?或者,我是不是漏掉了什么?
有一种更好的方法可以使用SSH socks隧道来实现这一点,因为JConsole支持socks:
>
在某个空闲端口(例如7777)上本地创建SSH socks代理:
ssh-fn-d 7777用户@防火墙-主机
jconsole-j-dsocksproxyhost=localhost-j-dsocksproxyport=7777 service:jmx:rmi:///jndi/rmi://localhost:2147/jmxrmi-j-dsocksnonproxyhosts=
正如下面的答案之一所提到的,从JDK8U60+中,您还需要-j-dsocksnonproxyhosts=
选项才能使其工作。
问题内容: 我希望能够远程连接到公开了JMX的Java服务,但是该服务已被防火墙阻止。我尝试使用ssh本地端口转发,但是连接失败。看一下wireshark,看来当您尝试与jconsole连接时,它想在连接到受防火墙阻止的端口9999后通过一些临时端口进行连接。 有什么方法可以使jconsole仅通过9999连接或使用代理?是这篇文章仍然是最好的解决办法?还是我错过了什么? 问题答案: 有什么方法可
null 因此,发生的事情可以在环回中解决,但不会通过ssh隧道。如何从docker调用,使其通过ssh隧道? 附:我用的是macOS High Sierra
问题内容: 我有这两个容器,例如(CentOs)和。我想拥有的是,可以从容器中连接到mongo数据库,就像它在本地运行一样, 无论如何,据我所知,您可以像这样将端口localhost:27017映射到mongo:27017 但是,如果执行此操作,则必须提供root密码,然后它会将我登录到容器中,并且不会发生端口转发 背景:我想这样做是因为我正在运行一个Java程序,该程序连接到localhost上
本文向大家介绍SSH端口转发实现内网穿透的实现,包括了SSH端口转发实现内网穿透的实现的使用技巧和注意事项,需要的朋友参考一下 我们局域网的机器能够访问外网,但是外网不能访问内网。因为内网访问互联网时候能确定外网的地址,外网却不能确定我们局域网内的具体地址。(ip地址有限)如果 我们在访问外网的时候,这个链接让他保持、不断,那么这个链接就相当于我们建了一条路,内网数据能出去,外网数据能进来,ssh
端口转发(Forwarded Port)。请求访问主机(你的电脑)上的某个端口,把请求转发到虚拟机上的某个端口。比如你在虚拟机上安装了一个 Web 服务器,默认它会在虚拟机上的 80 端口提供接待服务。你可以配置一个端口转发,当访问主机上的某个端口的时候,把请求转发到虚拟机上的 80 端口。下面通过一个试验你就很容易理解这个端口转发。 端口转发配置 打开 Vagrantfile,添加一行配置代码:
我需要连接到MongoDB通过SSH隧道和JSch端口转发抛出一个错误: 无法绑定本地端口127.0.0.1:27017 我必须通过SSH隧道连接到MongoDB。我在stackoverflow上找到了代码,它解决了我的问题。但几周后,同样的代码停止了工作。我无法确定原因。此外,使用我在Java代码中使用的相同凭据,我还尝试使用SSH-L命令通过CMD连接到相同的凭据,并且工作正常。我还可以使用N