【问题标题】:kinit: krb5_init_creds_set_keytab: Failed to find keytab (unknown enctype)kinit: krb5_init_creds_set_keytab: 找不到 keytab (unknown enctype)
【发布时间】:2018-11-29 19:15:45
【问题描述】:

为了能够从 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 创建 keytab,但仍然遇到相同的错误。

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

【问题讨论】:

    标签: kerberos spnego enctype mit-kerberos


    【解决方案1】:

    经过一番努力,我在 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 也不需要客户端才能正常工作。

    【讨论】:

      【解决方案2】:

      知道在 Mac 上默认安装的 kerberos 将不起作用。

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

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

      export PATH="/usr/local/opt/krb5/bin:$PATH"
      export PATH="/usr/local/opt/krb5/sbin:$PATH"
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2019-06-10
        • 1970-01-01
        • 1970-01-01
        • 2013-07-15
        • 2021-08-26
        • 2021-11-19
        • 1970-01-01
        • 2014-12-03
        相关资源
        最近更新 更多