繁体   English   中英

来自JConsole的JMX身份验证访问

[英]JMX authentication access from JConsole

我已设置一个Java应用程序以启用JMX开头

-Djavax.management.builder.initial= -Dcom.sun.management.jmxremote

我还设置了必要的属性文件

java / jre / lib / management / management.properties

com.sun.management.jmxremote.port=9999
com.sun.management.jmxremote.authenticate=true
com.sun.management.jmxremote.ssl=false

jmxremote.access

monitorRole readonly
controlRole readwrite

jmxremote.password

monitorRole QED
controlRole R&D

启动应用程序并尝试连接后

jconsole localhost:9999

我收到消息:连接失败:连接被拒绝:connect当我再次尝试输入凭据monitorRole:QED时,它给出了相同的消息。

如果我重复上述步骤,但是关闭了身份验证,则可以正常连接。

com.sun.management.jmxremote.authenticate=false

是什么导致身份验证拒绝我的连接?

原因很可能是您的密码文件未受读保护。 它需要使得只有用户才能阅读其内容。 可以使用以下方法实现此目的:

chmod 600 pwd.file.name

还是你的情况

chmod 600 jmxremote.access

如果您尝试使用不受读取保护的文件运行应用程序,则实际上应该可以看到此错误已打印到命令行。

com.sun.management.jmxremote.authenticate=true

但是请注意,在某些情况下,将密码文件发送到远程位置(例如推送到git remote)时,您分配给它的访问权限可能会重置,因此您可能必须进行远程设置。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM