预身份验证失败:获取初始凭据时密码读取中断

hi-*_*zir 6 linux hadoop kerberos keytab

这是我遇到的事情,我找到了解决方案。由于没有任何问题,我将其作为问题发布,并将我的解决方案作为答案。

环境:

  • 操作系统:Centos Linux、MacOS (Big Sur)
  • 集群:Cloudera Hadoop 发行版,
  • 工具:Kerberos

问题

我通过“ktutil”创建了“user.keytab”文件来更新没有密码的 krb 票证,正如这里推荐的那样https://kb.iu.edu/d/aumh

ktutil:  addent -password -p user@DOMAIN.LOCAL -k 1 -e rc4-hmac
Password for user@DOMAIN.LOCAL: [enter your password]
ktutil:  addent -password -p user@DOMAIN.LOCAL -k 1 -e aes256-cts
Password for user@DOMAIN.LOCAL: [enter your password]
ktutil:  wkt user.keytab
ktutil:  quit
Run Code Online (Sandbox Code Playgroud)

然后测试以异常告终

(user@server [~])$ kinit user@DOMAIN.LOCAL -k -t user.keytab
kinit: Preauthentication failed while getting initial credentials
Run Code Online (Sandbox Code Playgroud)

hi-*_*zir 12

原因:

您的 krb 设置中可能未配置密钥加密类型“aes256-cts”

解决方案

只需删除密钥表文件并使用上述步骤重新创建一个没有“aes256-cts”加密的文件

ktutil:  addent -password -p user@DOMAIN.LOCAL -k 1 -e rc4-hmac
Password for user@DOMAIN.LOCAL: [enter your password]
ktutil:  wkt user.keytab
ktutil:  quit
Run Code Online (Sandbox Code Playgroud)

或者

按照我上面添加的链接中的步骤,从密钥表文件中删除“aes256-cts”加密。

最后执行:

(user@server [~])$ kinit user@DOMAIN.LOCAL -k -t user.keytab
Run Code Online (Sandbox Code Playgroud)

这次你不会看到任何错误,你的票将被创建