我设置了一个 KDC 服务器并创建了一个 Realm EXAMPLE.COM
。这是我的 krb5.conf 文件:
[libdefaults]
renew_lifetime = 7d
forwardable = true
default_realm = EXAMPLE.COM
ticket_lifetime = 24h
dns_lookup_realm = false
dns_lookup_kdc = false
default_ccache_name = /tmp/krb5cc_%{uid}
#default_tgs_enctypes = aes des3-cbc-sha1 rc4 des-cbc-md5
#default_tkt_enctypes = aes des3-cbc-sha1 rc4 des-cbc-md5
[logging]
default = FILE:/var/log/krb5kdc.log
admin_server = FILE:/var/log/kadmind.log
kdc = FILE:/var/log/krb5kdc.log
[realms]
EXAMPLE.COM = {
admin_server = my.linux-server.de
kdc = my.linux-server.de
}
我还通过以下方式添加了一个testuser
带有密码的用户:abc
kadmin.local
kadmin.local: addprinc [email protected]
我可以成功登录我的 Ubuntu VM:
[root@ubuntu-vm ~]# kinit testuser
Password for [email protected]:
然后klist
显示:
[root@ubuntu-vm ~]# klist
Ticket cache: FILE:/tmp/krb5cc_0
Default principal: [email protected]
Valid starting Expires Service principal
01.12.2016 14:58:40 02.12.2016 14:58:40 krbtgt/[email protected]
我可以打开我的 Kererized Hadoop UI。
========================================================================
krb5.conf
问题出在我的 Windows 客户端上。我通过将文件从 KDC 机器复制到 Windows 客户端并将其重命名为来进行设置kdc5.ini
。
我还设置了计算机的域:
C:> Ksetup /setdomain EXAMPLE.COM
重启后,我尝试通过以下方式连接到我的 KDC Realm
C:> kinit [email protected]
Password for [email protected]:
<empty row>
到目前为止一切看起来都很好,但是当我打电话时klist
我只得到以下结果:
Aktuelle Anmelde-ID ist 0:0x7eca34
Zwischengespeicherte Tickets: (0)
在英语中类似于... cached tickets: (0)
我也无法在 Windows 客户端上打开我的网站,因此我猜测存在互操作性问题,因为我通过 Ubuntu 客户端连接时没有遇到任何问题。
我的浏览器(Firefox)应该在两台机器(Ubuntu 和 Windows)上都正确配置,我将属性设置network.negotiate-auth.trusted-uris
为http://my.linux-server.de
(因为我这样做了,Ubuntu 客户端可以打开该网站)。Curl 也适用于 Ubuntu,但不适用于 Windows。
更新:还尝试了第二个 Windows 客户端,但没有成功......
答案1
我终于让它工作了!我在 Windows 7(64 位)计算机上执行了以下步骤,在 Windows 10 上也应该可以正常工作:
- 从以下位置安装 MIT Kerberos这里。我采用了实际的 Windows 版本
MIT Kerberos for Windows 4.1
并使用默认设置进行了安装。 - 打开文件
C:\ProgramData\MIT\Kerberos\krb5.ini
并插入以下设置:
文件的新内容:
[libdefaults]
default_realm = EXAMPLE.COM
[realms]
EXAMPLE.COM = {
admin_server = your.admin.server.de
kdc = your.kdc.server.de
}
- 下载并安装实际的 Firefox 浏览器
- 在Firefox浏览器的地址栏中输入
about:config
并设置以下参数:
参数 = 值对:
network.negotiate-auth.delegation-uris = http://your.kdc.server.de
network.negotiate-auth.trusted-uris = http://your.kdc.server.de
network.auth.use-sspi = false