当前位置: 首页 > 知识库问答 >
问题:

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

穆建元
2023-03-14

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

>

  • 在远程计算机上安装JProfiler仪表

    从本地、中间到远程建立SSH隧道:

    ssh-v-N-L 8849:[remote的私有地址(192.168…etc)]:8849[middle]

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

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

    连接错误

    要么使用本机库的旧版本,要么另一个应用程序正在端口8849上侦听。请检查DYLD\u LIBRARY\u PATH环境变量和端口配置

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

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

    我的配置缺少什么?


  • 共有1个答案

    子车俊哲
    2023-03-14

    直接隧道的建立与

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

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

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

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

    这种方法适用于JProfiler。

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

     类似资料:
    • 我想通过SSH隧道访问jupyter笔记本,并遵循以下方法 要总结-: 1.登录远程机器 2.在新航站楼: 3.然后转到浏览器,然后转到 现在我的问题是:我只能在两个步骤中访问远程机器 jupyter笔记本电脑只安装在我的电脑上。 当我用较长的登录过程替换第一步的第一行时,第二步应该写什么? 当我插入remote_user=username和remote_user=my_pc_name时,我从ju

    • 问题内容: 我正在学习python。我需要使用隧道创建者来从数据库中读取信息并关闭隧道。我使用paramiko,但是我没有使用tonelem示例。请举一个创建隧道的简单代码示例。 提前致谢! 问题答案: 在工作中,我们通常创建ssh隧道转发端口。我们的方法是使用标准命令,使子进程在单独的线程中运行。我找到了这个有用的链接:https : //github.com/paramiko/paramiko

    • 错误: com.google.api.client.auth.oauth2.TokenResponseException:400错误请求{“error”:“invalid_scope”,“error_description”:“https://www.googleapis.com:22230/auth/admin.directory.user不是有效的作用域。”} 我们在WAS中部署了一个Java

    • 我正在尝试通过SSH隧道建立mosh连接。 localhost通过LAN1连接到主机1。主机1有一个GSM/GPRS连接到互联网。主机2是另一个LAN2中的覆盆子pi,但可以通过端口22和端口60001从互联网(通过端口转发)访问。我尝试以下操作: SSH隧道本身的建立是可行的。我通过ssh到达树莓pi。但我无法通过那条隧道与mosh联系。 这里怎么了?

    • 我不确定这是否是由端口转发使用私钥而不是密码造成的,但下面是我正在尝试做的 我需要将本地端口3308一直转发到位于3306的my SQL DB。 我可以在我的本地终端上一起运行这样的事情 我在JSch或端口转发方面做错了什么吗?

    • 问题内容: 我的目的是连接到位于防火墙后面的服务器(主机)。我可以通过连接到网络中的另一台服务器(隧道)然后通过SSH到该服务器来访问此服务器。但是,我无法通过JSch实现相同的方案。 我无法为此编写以下代码。如果我在这里做任何愚蠢的事情,请告诉我。 上面的代码在行中给出了以下异常。 问题答案: jsch上的代理设置允许您连接到远程端上 正在运行的 代理服务器。一个在远程端将 不 被视为一个代理。