Linux

為 Linux KDC 領域設置 Windows 10 客戶端

  • September 27, 2017

我設置了一個 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 testuser@EXAMPLE.COM

我可以成功登錄我的 Ubuntu 虛擬機:

[root@ubuntu-vm ~]# kinit testuser
Password for testuser@EXAMPLE.COM:

然後klist顯示:

[root@ubuntu-vm ~]# klist
Ticket cache: FILE:/tmp/krb5cc_0
Default principal: testuser@EXAMPLE.COM

Valid starting       Expires              Service principal
01.12.2016 14:58:40  02.12.2016 14:58:40  krbtgt/EXAMPLE.COM@EXAMPLE.COM

我可以打開我的 Kererized Hadoop UI。

========================================================================

問題使我的 Windows 客戶端。我通過將krb5.conf文件從 KDC 機器複製到 Windows 客戶端並將其重命名為kdc5.ini.

我還設置了電腦的域:

C:> Ksetup /setdomain EXAMPLE.COM

重新啟動後,我嘗試通過以下方式連接到我的 KDC 領域

C:> kinit testuser@EXAMPLE.COM
Password for testuser@EXAMPLE.COM:
<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 客戶端但沒有任何成功…

最後我讓它工作了!我在 Windows 7(64 位)機器上做了以下步驟,也應該在 Windows 10 上工作:

  1. 從這里安裝 MIT Kerberos 。我採用了實際的 Windows 版本,MIT Kerberos for Windows 4.1並使用預設設置安裝了它。
  2. 打開文件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
 }
  1. 下載並安裝實際的 Firefox 瀏覽器
  2. 在火狐瀏覽器的地址欄中輸入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
  1. 重啟你的電腦

  2. 使用MIT Kerberos Ticket Manager為您的使用者獲取新票證: 在此處輸入圖像描述

  3. 您應該在管理器中看到您的票: 在此處輸入圖像描述

  4. 現在您應該能夠打開需要身份驗證的網頁: 在此處輸入圖像描述

引用自:https://serverfault.com/questions/818138