认证失败处理FAQ


现象描述

样例工程调试运行过程发现认证失败。

处理流程

出现认证失败的原因很多,在不同场景中建议参考以下步骤来排查:

  1. 确认本应用所运行设备和FusionInsight集群网络上是否通畅,Kerberos认证所需的各类端口(TCP/UDP)是否可正常访问。
  2. 确认各个配置文件是否被正确读取到,路径是否保存正确。
  3. 确认用户名和keytab文件是按操作指导得到的。
  4. 确认各类配置信息是否已经先设置好了,再发起认证。
  5. 确认没有在同一个进程中发起多次认证,即重复调用login()方法。
  6. 若还有问题,需联系华为工程师做进一步分析。

认证失败样例

解决认证出现如下关键字:clock skew too greate的问题

  1. 检查FusionInsight集群时间。
  2. 检查开发环境所在机器的时间,与集群时间的偏差应小于5分钟。

解决认证出现如下关键字:(time out) can not connect to kdc server的问题

  1. 要检查“krb5.conf”文件内容是否正确,即是否与集群中的KerberoServer的业务IP配置相同。
  2. 检查Kerberos服务是否正常。
  3. 检查防火墙是否关闭。

解决认证出现如下关键字:current user is [email protected] (auth:KERBEROS)has logined的问题

  1. 检查当前环境是否有用户已执行kinit命令进行安全认证?
    • 是,执行步骤 2。
    • 否,执行步骤 3。
  2. 此用户是否还需要继续使用,不能注销?
    • 是,注释LoginUtil.checkNeedLogin()方法,然后执行步骤 3。
    • 否,执行kdestory命令注销用户登录信息,然后执行步骤 3。
  3. 检查当前环境操作系统中的登录用户是否使用Kerberos机制进行安全认证,且样例工程使用了IBM JAVA平台?
    • 是,且不能修改操作系统用户认证机制,请注释LoginUtil.checkNeedLogin()方法,然后执行步骤 4。
    • 否,执行步骤 4。
  4. 检查样例工程是否多次调用认证方法,认证方法只需要调用一次。

results matching ""

    No results matching ""