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

如何通过跳板机SSH连接,在IntelliJ中调试EC2上的Java应用

通过跳板机在IntelliJ远程调试EC2上的Java应用

1. 配置EC2实例的Java应用启动参数

  • 修改EC2上Java应用的启动脚本或服务配置,添加远程调试的JPDA参数,确保应用启动时开启调试监听:
    -agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=0.0.0.0:5005
    
  • 参数说明:
    • suspend=n:应用启动时不暂停,直接运行;若需等待调试器连接再启动,改为suspend=y
    • address=0.0.0.0:5005:让实例监听所有网卡的5005端口,也可自定义其他端口,但需和后续步骤保持一致
  • 若应用通过systemd管理:
    • 编辑服务文件(如/etc/systemd/system/your-app.service),在ExecStart行末尾添加上述参数
    • 执行systemctl daemon-reload && systemctl restart your-app重启应用

2. 配置本地到EC2的SSH端口转发(通过跳板机)

  • 在本地终端执行以下SSH命令,建立跳板机到EC2的端口转发,将本地5005端口映射到EC2实例的5005端口:
    ssh -L 5005:EC2_PRIVATE_IP:5005 JUMP_SERVER_USER@JUMP_SERVER_PUBLIC_IP
    
  • 参数说明:
    • EC2_PRIVATE_IP:EC2实例的私有IP(跳板机与EC2同属一个VPC时,用私有IP更安全,无需开放EC2公网调试端口)
    • JUMP_SERVER_USER:跳板机的登录用户名
    • JUMP_SERVER_PUBLIC_IP:跳板机的公网IP
  • 执行命令后保持终端窗口开启,关闭窗口会中断端口转发

3. 在IntelliJ中配置远程调试

  • 打开IntelliJ,点击顶部菜单栏的Run → Edit Configurations
  • 点击左上角的+号,选择Remote JVM Debug
  • 在配置页面填写以下信息:
    • Name:自定义配置名称(例如EC2 Remote Debug)
    • Host:填写localhost(本地端口已转发到EC2)
    • Port:填写5005(与之前设置的端口一致)
  • 点击Apply保存配置,然后点击Debug按钮启动调试

注意事项

  • 确保EC2的安全组允许跳板机的IP访问调试端口(5005)
  • 确保跳板机的安全组允许本地IP访问SSH端口(22)
  • 若调试连接失败,依次排查:EC2应用是否用正确参数启动、端口转发命令是否正常运行、安全组规则是否配置正确

内容的提问来源于stack exchange,提问作者rainman

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.13 10:46:08