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”问题?
经过一番努力,我在 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 即可让客户端正常工作。