Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/366.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ssis/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何在两跳SSH隧道上使用JProfiler_Java_Remote Server_Tunnel_Jprofiler_Ssh Tunnel - Fatal编程技术网

Java 如何在两跳SSH隧道上使用JProfiler

Java 如何在两跳SSH隧道上使用JProfiler,java,remote-server,tunnel,jprofiler,ssh-tunnel,Java,Remote Server,Tunnel,Jprofiler,Ssh Tunnel,我正在尝试将JProfiler连接到运行在服务器上的JVM,我将称之为remote。只能通过另一台服务器从我的工作站(local)访问此服务器,我将称之为middle。我将JProfiler连接到remote的计划如下: 将JProfiler仪表安装到远程 建立从本地到远程的SSH隧道: ssh-v-N-l8849:[远程用户的私人地址(192.168…等)]:8849[中间] 在localhost:8849上建立新的JProfiler会话,选择“立即启动,稍后连接JProfiler GUI

我正在尝试将JProfiler连接到运行在服务器上的JVM,我将称之为remote。只能通过另一台服务器从我的工作站(local)访问此服务器,我将称之为middle。我将JProfiler连接到remote的计划如下:

  • 将JProfiler仪表安装到远程

  • 建立从本地到远程的SSH隧道:

    ssh-v-N-l8849:[远程用户的私人地址(192.168…等)]:8849[中间]

  • localhost:8849
    上建立新的JProfiler会话,选择“立即启动,稍后连接JProfiler GUI”

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

    连接错误

    使用本机库的旧版本或其他版本 应用程序正在侦听端口8849。请检查您的电话号码 DYLD_库_路径环境变量和端口配置

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

    我发现了类似的问题,但没有提供解决方案


    我的配置中缺少了什么?

    使用

    ssh -t user@remote -L [localPort]:localhost:[remotePort] -N
    
    2-hop隧道是使用链式ssh命令构建的:

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

    这种方法适用于JProfiler

    如果隧道失败或者分析代理没有侦听,您将收到您提到的消息,因为在SSH隧道中连接失败的方式