You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何通过IntelliJ IDEA对私钥SSH验证Linux服务器上的Java应用进行远程调试

Linux服务器Java应用IDEA远程调试配置方案

第一步:给服务器上的Java应用添加调试启动参数

远程调试必须先给Java应用添加JDWP调试代理启动参数,根据JDK版本不同参数略有区别:

  • JDK 8及更早版本:
    java -agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=5005 -jar your-app.jar
  • JDK 9及更高版本(需要允许外部IP访问必须加*):
    java -agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=*:5005

参数说明:suspend=n表示应用启动时不挂起等待调试连接,5005为调试端口可自行修改。如果不想对外暴露调试端口,可选择下文的SSH隧道方案,不需要额外开放防火墙端口。

第二步:IDEA端调试配置(适配私钥SSH登录场景)

你截图中打开的就是IDEA的Remote JVM Debug配置项,可按以下两种场景调整配置:

方案1:调试端口已对外开放

  • 配置页填写服务器公网IP、调试端口(比如上面的5005),选择和服务器匹配的JDK版本
  • 保存配置后直接启动调试即可

方案2:调试端口未对外开放(更安全,推荐)

不需要修改防火墙规则,直接通过SSH隧道转发调试流量:

  • 在配置页勾选「SSH tunnel」选项
  • 填写SSH连接信息:
    • Host:服务器公网IP
    • Port:SSH端口默认22,有修改则填自定义端口
    • Username:SSH登录用户名
    • 认证方式选择「Key pair」,指定你的private_key.txt私钥文件路径,私钥有密码则填写对应密码
  • 调试端口仍填写应用配置的调试端口(比如5005),IDEA会自动完成端口转发
  • 保存配置后启动调试即可

常见问题排查

  • 服务器执行netstat -tunlp | grep 5005确认调试端口处于监听状态
  • 本地私钥文件权限需设置为600,避免IDEA读取权限报错
  • JDK9+版本如果address参数前没加*,默认仅允许本地访问,远程会连接失败

内容的提问来源于stack exchange,提问作者java-dev-ua

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.28 05:48:03