【问题标题】:How to use JProfiler over two-hop SSH tunnel如何在两跳 SSH 隧道上使用 JProfiler
【发布时间】:2015-01-24 02:57:44
【问题描述】:

我正在尝试将 JProfiler 连接到在我将调用 remote 的服务器上运行的 JVM。这个服务器只能从我的工作站(本地)通过另一个我称为middle的服务器访问。我将 JProfiler 连接到 remote 的计划是这样的:

  1. 远程

    上安装 JProfiler 工具
  2. 建立从本地中间远程的SSH隧道:

    ssh -v -N -L 8849:[remote's private address (192.168... etc)]:8849 [middle]

  3. localhost:8849 上建立一个新的 JProfiler 会话,选择“立即启动,稍后使用 JProfiler GUI 连接”

但是,我最终得到一个错误:

连接错误

要么使用旧版本的原生库,要么使用另一个 应用程序正在侦听端口 8849。请检查您的 DYLD_LIBRARY_PATH 环境变量和你的端口配置

除了我的 SSH 隧道外,我没有任何其他程序绑定到本地端口 8849,并且我已确认 SSH 隧道本身应该可以正常工作 - 我能够转发测试 HTTP 服务器的连接通过类似配置的隧道远程本地

我找到了this 类似的问题,但没有提供解决方案。

我的配置中缺少什么?

【问题讨论】:

    标签: java remote-server tunnel jprofiler ssh-tunnel


    【解决方案1】:

    直接隧道

    建立
    ssh -t user@remote -L [localPort]:localhost:[remotePort] -N
    

    2 跳隧道 是使用链式 ssh 命令构建的:

    ssh -t user@middle -L [localPort]:localhost:[remotePort] \
    ssh -t user@remote -L [remotePort]:localhost:[remotePort] -N
    

    其中localPort 是您要在本地使用的端口,remotePort 是分析代理正在侦听的端口。所有这些都在本地计算机上的单个命令中执行。像第一行一样,可以通过额外的 ssh 调用添加更多跃点。整个命令必须有一个尾随 -N

    这种方法适用于 JProfiler。

    如果隧道失败或分析代理未在侦听,您将收到您提到的消息,因为在 SSH 隧道的情况下连接失败。

    【讨论】:

      猜你喜欢
      • 2019-08-07
      • 2011-12-14
      • 2021-10-28
      • 2017-08-04
      • 2020-10-26
      • 1970-01-01
      • 2012-03-06
      • 1970-01-01
      • 2015-06-15
      相关资源
      最近更新 更多