0

为了能够从 MacBook 访问 Kerberized Hadoop,尝试创建 SPNEGO。在 Centos 7 中从 KDC 复制 spnego 密钥表后,执行 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)

在 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 ~]#

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

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

4

2 回答 2

4

经过一番努力,我在 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 .

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

于 2018-11-29T19:19:28.710 回答
0

知道在 Mac 上默认安装的 kerberos 不起作用会很有帮助。

我通过使用 Homebrew 安装它来解决它:brew install krb5

为了避免使用原始二进制文件,还必须将这些路径添加到~/.bashrcor~/.zshrc文件中:

export PATH="/usr/local/opt/krb5/bin:$PATH"
export PATH="/usr/local/opt/krb5/sbin:$PATH"
于 2022-01-10T18:28:49.380 回答