客户端计算机上的 Kerberos kinit 身份验证错误

客户端计算机上的 Kerberos kinit 身份验证错误

当我尝试在 ubuntu 桌面客户端机器上使用 kinit clientnorbert@ubunturealm 获取票证时,我从 ubuntu 服务器收到此消息,并且 /etc/hosts 和 krb5.conf 中包含所有相关组件。

kinit: Cannot contact any KDC for realm 'ubunturealm' while getting initial credentials

    [libdefaults]
    default_realm = ubunturealm

    # The following krb5.conf variables are only for MIT Kerberos.
    kdc_timesync = 1
    ccache_type = 4
    forwardable = true
    proxiable = true
    rdns = false


    # The following libdefaults parameters are only for Heimdal Kerberos.
    fcc-mit-ticketflags = true

    [realms]
    ubunturealm = {
            kdc = serverkerberos
            admin_server = adminserverkerberos
            default_doomian = ubuntunorbert

以及我的 ubuntu 服务器上的 krb5.conf

    [libdefaults]
    default_realm = ubunturealm
    dns_lookup_realm = true
    dns_lookup_kdc = true
    dns_canonicalize_hostname = true
    dns_uri_lookup = true
    rdns = true

    [realms]
    ubunturealm = {
            kdc = serverkerberos
            admin_server = adminserverkerberos
            default_domain = ubuntunorbert

两台机器上的 /etc/hosts 看起来类似这样。两台机器都可以 Ping。

127.0.0.1 localhost
127.0.1.1 ubuntuserver.com
10.0.2.5 ubunturealm
10.0.2.5 serverkerberos
10.0.2.5 adminserverkerberos
10.0.2.5 ubuntumailsystem
127.0.0.1 ubuntumailsystem
10.0.2.5 ubuntuserver.com
10.0.2.6 clientnorbert.com

我在 NatNetwork 使用 virtualbox,ubuntu 服务器

No LSB modules are available.
Distributor ID: Ubuntu
Description:    Ubuntu 23.10
Release:    23.10
Codename:   mantic

Kinit、klist、kadmin、kadmin.local 和授予票证在服务器上工作,而不是在客户端上。

答案1

  • 请使用正常域名,不要使用虚假的一级域名。
  • 不要劫持公共域名中的名称;如果您不拥有“ubuntuserver.com”之类的名称,就不要假装它们是您自己的。
  • 正确设置 DNS,不要依赖hosts。正确设置 DNS SRV 记录。这尤其有用,因为您已在krb5.conf
  • 不要保留127.0.1.1服务器“公共”名称的主机条目。仅使用其他主机可以访问此服务器的地址。我知道,它是由安装程序放在那里的;删除它。
  • 有一个惯例:领域名称应该是大写的(主)域名。

这种简单的整理可以创造奇迹。你甚至可能在不知道问题到底是什么的情况下就解决了问题。纪律很有用。

相关内容