gpt4 book ai didi

java - JConsole 通过 ssh 本地端口转发

转载 作者:IT老高 更新时间:2023-10-28 20:22:20 38 4
gpt4 key购买 nike

我希望能够远程连接到暴露了 JMX 的 Java 服务,但是它被防火墙阻止了。我尝试使用 ssh 本地端口转发,但是连接失败。查看wireshark,似乎当您尝试连接jconsole时,它想在连接到端口9999后通过一些临时端口进行连接,这些端口被防火墙阻止。

有没有办法让 jconsole 只通过 9999 连接或使用代理?是 this article still the best solution ?或者,我错过了什么?

最佳答案

由于 JConsole 支持 SOCKS,因此使用 SSH socks 隧道有更好的方法:

  1. 在某个空闲端口(例如 7777)上本地创建 SSH socks 代理:

    ssh -fN -D 7777 user@firewalled-host

  2. 通过指定 SOCKS 代理(例如 localhost:7777)和 JMX 服务器的地址(例如 localhost:2147)来运行 JConsole

    jconsole -J-DsocksProxyHost=localhost -J-DsocksProxyPort=7777 service:jmx:rmi:///jndi/rmi://localhost:2147/jmxrmi -J-DsocksNonProxyHosts=

正如以下答案之一所述,从 JDK 8u60+ 开始,您还需要具有 -J-DsocksNonProxyHosts= 选项才能使其正常工作。

关于java - JConsole 通过 ssh 本地端口转发,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15093376/

38 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com