kinit:krb5_init_creds_set_keytab:找不到密钥表(未知的 enctype)

Ven*_*kat 0 kerberos spnego enctype mit-kerberos

为了能够从 MacBook 访问 Kerberized Hadoop,尝试创建 SPNEGO。在 Centos 7 中从 KDC 复制 spnego keytab 后,执行 kinit 失败,并出现以下错误:

$kinit -kt /etc/security/keytabs/spnego.service.keytab ambari-qa-tcluster@EXAMPLE.COM

kinit: krb5_init_creds_set_keytab: Failed to find ambari-qa-ambari-qa-tcluster@EXAMPLE.COM in keytab FILE:/etc/security/keytabs/smokeuser.headless.keytab (unknown enctype)
Run Code Online (Sandbox Code Playgroud)

在 Centos 上,使用以下命令检查 enctype:

[root@vpimply1 ~]# klist -kte /etc/security/keytabs/smokeuser.headless.keytab
Keytab name: FILE:/etc/security/keytabs/smokeuser.headless.keytab
KVNO Timestamp           Principal
---- ------------------- ------------------------------------------------------
   2 11/27/2018 21:48:00 ambari-qa-tcluster@EXAMPLE.COM (des-cbc-md5)
   2 11/27/2018 21:48:00 ambari-qa-tcluster@EXAMPLE.COM (aes128-cts-hmac-sha1-96)
   2 11/27/2018 21:48:00 ambari-qa-tcluster@EXAMPLE.COM (arcfour-hmac)
   2 11/27/2018 21:48:00 ambari-qa-tcluster@EXAMPLE.COM (des3-cbc-sha1)
   2 11/27/2018 21:48:00 ambari-qa-tcluster@EXAMPLE.COM (aes256-cts-hmac-sha1-96)
[root@vpimply1 ~]#
Run Code Online (Sandbox Code Playgroud)

尝试使用特定的 enctype 创建密钥表,但仍然遇到相同的错误。

如何解决这个“enctype”问题?

Ven*_*kat 5

经过一番努力,我在 Macbook 中将 KRB5 Tracing 设置如下:

KRB5_TRACE=/dev/stdout

设置后,我可以清楚地看到 keytab 上的权限不正确。

$ kinit -t /etc/security/keytabs/smokeuser.headless.keytab ambari-qa-vpimply@IMPLY.IO
2018-11-29T11:17:29 set-error: -1765328242: Reached end of credential caches
2018-11-29T11:17:29 set-error: -1765328243: Principal ambari-qa-vpimply@IMPLY.IO not found in any credential cache
2018-11-29T11:17:29 set-error: 13: keytab /etc/security/keytabs/smokeuser.headless.keytab access failed: Permission denied
2018-11-29T11:17:29 set-error: 13: Failed to find ambari-qa-vpimply@IMPLY.IO in keytab FILE:/etc/security/keytabs/smokeuser.headless.keytab (unknown enctype)
kinit: krb5_init_creds_set_keytab: Failed to find ambari-qa-vpimply@IMPLY.IO in keytab FILE:/etc/security/keytabs/smokeuser.headless.keytab (unknown enctype)

$ ls -alrt /etc/security/keytabs
total 24
-r--r-----  1 root                wheel  338 Nov 28 13:19 smokeuser.headless.keytab
drwxr-xr-x  5 root                wheel  160 Nov 28 17:16 .
Run Code Online (Sandbox Code Playgroud)

修复权限以匹配当前登录的用户后,kinit 工作正常!这与“enctype”无关。此外,最近的 MACO 不需要安装任何软件包 - 甚至不需要安装 MIT Kerberos 即可让客户端正常工作。