使用 JSch 通过 SSH 隧道访问生产中的 JMX
我正在尝试自动化使用 JMX 执行某些操作的步骤。
它适用于开发环境。但是当涉及到受防火墙保护的生产时,我需要创建一个 SSH 隧道,然后只有我可以访问 JMX 控制台。
早些时候,我使用 putty 或 ssh 创建隧道并在本地运行我的 java 程序。由于我们使用了 1-2 个主机,所以比较容易。现在已经变成了10个主机。现在我不想每次都创建隧道并断开连接并运行程序。
我想做的是,使用 JSch 自动创建 SSH 隧道,并将 JMX 与 java 程序连接。我尝试这样做,但它不起作用。
我正在得到 java.rmi.ConnectException:连接拒绝主机:localhost;嵌套异常是: java.net.ConnectException:连接被拒绝:连接
可以这样做吗?
I am trying to automate a step of doing some things with JMX.
It works for development environment. but when it comes to Production which is protected behind firewall, i need to make a SSH tunnel and then only i can access the JMX console.
Earlier, i used putty or ssh to create tunnel and run my java program locally. Since we used 1-2 host, it was easier. now it became upto 10 host. now that i dont want to create tunnel every time and disconnect and run the program.
what i wanted to do is, automatically create SSH tunnel using JSch and connect JMX with the java program. i tried to do this but its not working.
I am getting
java.rmi.ConnectException: Connection refused to host: localhost; nested exception is:
java.net.ConnectException: Connection refused: connect
it is possible to do this?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
为什么不使用 Runtime.exec() 来启动 ssh?例子:
Why don't you use
Runtime.exec()
to start ssh? Example: