我试图用keytab连接到kerberos服务器:
kinit -k -t securitytest.keytab securitytest@RRRR.COM
Exception: ICMP Port Unreachable
java.net.PortUnreachableException: ICMP Port Unreachable
at java.base/java.net.DualStackPlainDatagramSocketImpl.socketReceiveOrPeekData(Native Method)
at java.base/java.net.DualStackPlainDatagramSocketImpl.receive0(DualStackPlainDatagramSocketImpl.java:124)
at java.base/java.net.AbstractPlainDatagramSocketImpl.receive(AbstractPlainDatagramSocketImpl.java:181)
at java.base/java.net.DatagramSocket.receive(DatagramSocket.java:814)
at java.security.jgss/sun.security.krb5.internal.UDPClient.receive(NetClient.java:205)
at java.security.jgss/sun.security.krb5.KdcComm$KdcCommunication.run(KdcComm.java:404)
at java.security.jgss/sun.security.krb5.KdcComm$KdcCommunication.run(KdcComm.java:364)
at java.base/java.security.AccessController.doPrivileged(Native Method)
at java.security.jgss/sun.security.krb5.KdcComm.send(KdcComm.java:348)
at java.security.jgss/sun.security.krb5.KdcComm.sendIfPossible(KdcComm.java:253)
at java.security.jgss/sun.security.krb5.KdcComm.send(KdcComm.java:229)
at java.security.jgss/sun.security.krb5.KdcComm.send(KdcComm.java:200)
at java.security.jgss/sun.security.krb5.KrbAsReqBuilder.send(KrbAsReqBuilder.java:326)
at java.security.jgss/sun.security.krb5.KrbAsReqBuilder.action(KrbAsReqBuilder.java:371)
at java.security.jgss/sun.security.krb5.internal.tools.Kinit.acquire(Kinit.java:248)
at java.security.jgss/sun.security.krb5.internal.tools.Kinit.(Kinit.java:134)
at java.security.jgss/sun.security.krb5.internal.tools.Kinit.main(Kinit.java:96)现在,我确实试图完全关闭Windows防火墙,并在krb5.ini中为kdc设置端口88,就像一些人暗示的那样,但这并没有帮助。远程传送kdc地址的端口工作。从java1.8更新到1.11,仍然是同一个问题。
如果我使用kerberos中的主体名称和密码进行连接,它就能工作。与选项卡文件的kinit连接在mac和linux机器上工作。
解决这个问题的想法?
发布于 2019-08-25 08:00:18
在windows环境中,kinit.exe也存在于JDK的安装目录中,确保您使用的kinit.exe位于kerberos的安装目录中。
https://serverfault.com/questions/943270
复制相似问题