我在这里疯狂地尝试调试一个问题。
所以我需要通过 Kerberos 将这个 Linux Box 连接到 AD 域。
这是我的 krb5.conf:
[libdefaults]
default_realm=OURDOMAIN.COM
dns_lookup_realm=true
dns_lookup_kdc=true
ticket_lifetime=24h
forwardable = true
proxiable = true
[realms]
OURDOAMIN.COM = {
kdc = VSH002.OURDOMAIN.COM:88
admin_server = VSH002.OURDOMAIN.COM:749
default_domain = OURDOMAIN.COM
}
[domain_realm]
.ourdomain.com=OURDOMAIN.COM
ourdomain.com=OURDOMAIN.COM
现在 /etc/hosts:
10.1.10.51 VSH002.OURDOMAIN.COM VSH002 vsh002
和 resolv.conf:
domain ourdomain.com
search ourdomain.com
nameserver 10.1.10.51
命令 kinit[电子邮件保护]工作正常。
klist -ke 也显示了正确的主体
kinit -V 也连接成功。
问题: 在 Active Directory 端使用 kpass 生成密钥表并尝试使用以下方法进行连接后
kinit -k
我得到:
获取初始凭据时无法解析领域中 KDC 的网络地址。
网络地址无法解析?这是怎么回事?
有人可以帮忙吗?
谢谢你,尤金。
答案1
使用 keytab 时,kinit
需要提供principle
您希望验证的身份。这可能是因为 keytab 可以包含多个主体。
[root@dhcp2 ~]# kinit -k
kinit(v5): Cannot resolve network address for KDC in realm while getting initial credentials
[root@dhcp2 ~]# kinit -k host/dhcp2.domain.tld
[root@dhcp2 ~]# klist
Ticket cache: FILE:/tmp/krb5cc_0
Default principal: host/[email protected]
Valid starting Expires Service principal
07/29/12 19:27:49 07/30/12 07:27:49 krbtgt/[email protected]
renew until 07/30/12 19:27:49
Kerberos 4 ticket cache: /tmp/tkt0
klist: You have no tickets cached
答案2
dns_lookup_kdc=true 表示 kinit 将在 DNS 中查找 SRV 记录。
您的服务器在 DNS 服务器中是否有用于域/域控制器的 SRV 记录?
_kerberos.VSH002.OURDOMAIN.COM 用于端口 88
_ldap.VSH002.OURDOMAIN.COM 用于端口 389
http://web.mit.edu/kerberos/krb5-1.6/krb5-1.6.3/doc/krb5-admin.html