首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >java远程调试最全配置,含安全配置

java远程调试最全配置,含安全配置

原创
作者头像
用户12009282
发布2026-01-26 12:34:44
发布2026-01-26 12:34:44
1030
举报

java远程调试,网上很多配置教程,都是没有考虑安全的,直接把调试端口暴露到互联网,安全风险极高,黑客只需要直接连接这个调试端口,就可以调试你的线上应用了,因此,初次调试者,非常有必要看看此文,学习配置调试参数的同时,还需要学习如何使用ssh隧道,做安全策略。

下面分几步来配置:

第一步:配置远程java应用的启动命令

假如以前启动的时候已经添加过启动配置,可以不用不用管这一步,假如没有添加启动参数,需要添加下面的代码,其中,5005是调试的端口,代码如下:

代码语言:txt
复制
-agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=5005

这个5005是可以改的,假如你服务端有多个应用,5005端口冲突,可修改这个端口。

第二步,配置idea添加远程调试启动项

相信目前java开发,一般都是用idea的了吧,下面是idea配置远程调试的例子。

之类host不要直接跳服务端的地址,直接暴露服务端的地址和端口出来非常危险,这里先填localhost,因为后面我们将会使用ssh隧道工具,将服务端的5005端口,映射出来本地5005端口。

第三步:设断点,等待断点触发

这一步,需要先把代码分支切换到跟远程服务一样的代码版本上。然后再打端口,等待事先的执行。

第四步:使用yunedit-ssh做ssh隧道

使用yunedit-ssh做ssh隧道,其实就是在yunedit-ssh这个ssh客户端软件上,创建一个ssh连接,然后再创建一个远程服务的端口映射,到本地上。

ssh隧道可以使用命令或者可视化工具来做,命令行比较不稳定,断网就不会重连了,长时间使用的话,还是使用可视化客户端来实现,而yunedit-ssh是专门针对ssh隧道的工具,创建ssh映射的界面比较直观,启动也比较简单,因此使用yunedit-ssh

来实现。

如下图所示,是一个映射机房内网IP到本地5005端口的例子:

图中可以看出,既往内网10.246.****的IP下面的5005端口,映射到本地5005端口了。

第五步:在idea启动调试

如下图,在idea的主界面,右上角,找到调试的按钮,在调试按钮左侧的下拉列表选择刚才创建的远程启动项,进行调试,如下例图:

好了,在生产环境上测试,触发到断点代码的时候,本地的idea就可以进入断点了。这里使用了java命令自带的调试工具和一些其他的端口映射安全工具,配搭出完整的调试体系。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 [email protected] 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 [email protected] 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 第一步:配置远程java应用的启动命令
  • 第二步,配置idea添加远程调试启动项
  • 第三步:设断点,等待断点触发
  • 第四步:使用yunedit-ssh做ssh隧道
  • 第五步:在idea启动调试
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档