我有一个典型的内部集群,它有一个登录节点和多个计算节点。首先,我运行了一个带有以下参数的JVM实例,让我的IntelliJ调试器连接到它。
-agentlib:jdwp=transport=dt_socket,server=y,suspend=y,address=5005
此登录节点有一个可公开访问的地址,我大部分都是为了启动作业。但是,当我尝试将IntelliJ调试器连接到此节点上的JVM实例时,连接只是将它连接起来并且无法连接,而我的JVM实例确实在挂起模式下启动,等待调试器连接到它。 / p>
更新 最初的问题似乎是我没有访问我的服务器上的任何其他端口,而不是端口22,我用它来SSH。无论如何,我能够创建一个SOCK5代理,配置IntelliJ使用该代理,然后成功测试连接,如下所示:
调试器控制台上的输出显示IntelliJ已成功访问指定主机名上的端口,带有HTTP请求的albiet而不是JWP端口。
然而,当我继续将调试器连接到同一主机:端口组合时,我无法执行此操作并收到以下错误:
我也试过设置suspend=n
,但无济于事。
答案 0 :(得分:4)
ssh -L 5005:localhost:5005 haseeb@myserver.com
会将localhost:5005
映射到5005
上的端口myserver.com
(同样位于localhost
的{{1}}接口上)。这样在IntelliJ IDEA调试器中,您将连接到myserver.com
(在主机字段中指定)端口localhost
,并且连接将转发到调试器侦听的远程服务器在5005
。
有关SSH隧道如何工作的详细信息,请参阅here