無法通過 kerberos 從 Windows 10 機器向 ipa 客戶端進行身份驗證
我有一台加入域的 Windows 10 電腦嘗試通過 kerberos 對 ipa (4.4.0) 客戶端 (centos 7.2) 進行身份驗證,我可以使用使用者/密碼進行身份驗證,然後使用 kinit 進行身份驗證,但我似乎無法使用我機器上的 kerberos 票證進行身份驗證.
ipaclients 可以通過 kerberos 對 windows 伺服器 (winrm) 進行身份驗證。
佈局 example.org = 具有使用者的受信任域 example.com = 系統的根域 ad.example.com = 系統的子域 ipa.example.com = FreeIPA 的領域
來自 users@example.org 的所有域的身份驗證都有效,用於 IIS 的 kerberos Windows 身份驗證按預期工作,Winrm 使用 kerberos 在 Windows 和 linux 上工作。我還沒有使用 keytabs 和受信任的使用者測試 apache 401。
debug1: 下一個認證方法: gssapi-with-mic debug1: Miscellaneous failure (see text) cannot find realm of host WIN10HOSTNAME
debug1:其他故障(見正文)無法找到主機 WIN10HOSTNAME 的領域
debug2:我們沒有發送數據包,禁用方法
WIN10HOSTNAME = 主機名
我嘗試過 MIT Kerberos,還嘗試在 krb5.ini 文件(windows)中設置預設領域。我不太確定如何設置預設領域。
Windows 10 客戶端 (mingw64)
ssh -V
OpenSSH_7.1p2,OpenSSL 1.0.2h 2016 年 5 月 3 日
klist
Current LogonId is 0:0x3a258 Cached Tickets: (4) 1 Client: jevans @ EXAMPLE.ORG Server: krbtgt/AD.EXAMPLE.ORG @ EXAMPLE.COM KerbTicket Encryption Type: RSADSI RC4-HMAC(NT) Ticket Flags 0x40a50000 -forwardable renewable pre_authent ok_as_delegate name_canonicalize Start Time: 1/26/2017 8:26:58 (local) End Time: 1/26/2017 18:25:47 (local) Renew Time: 1/26/2017 18:25:47 (local) Session Key Type: RSADSI RC4-HMAC(NT) Cache Flags: 0 Kdc Called: DC01.example.com 1 Client: jevans @ EXAMPLE.ORG Server: krbtgt/EXAMPLE.COM @ EXAMPLE.ORG KerbTicket Encryption Type: RSADSI RC4-HMAC(NT) Ticket Flags 0x40a50000 -forwardable renewable pre_authent ok_as_delegate name_canonicalize Start Time: 1/26/2017 8:26:58 (local) End Time: 1/26/2017 18:25:47 (local) Renew Time: 1/26/2017 18:25:47 (local) Session Key Type: RSADSI RC4-HMAC(NT) Cache Flags: 0 Kdc Called: DC01.example.org 2 Client: jevans @ EXAMPLE.ORG Server: krbtgt/EXAMPLE.ORG @ EXAMPLE.ORG KerbTicket Encryption Type: AES-256-CTS-HMAC-SHA1-96 Ticket Flags 0x40e10000 -forwardable renewable initial pre_authent name_canonicalize Start Time: 1/26/2017 8:25:47 (local) End Time: 1/26/2017 18:25:47 (local) Renew Time: 1/26/2017 18:25:47 (local) Session Key Type: AES-256-CTS-HMAC-SHA1-96 Cache Flags: 0x1 -PRIMARY Kdc Called: DC01.example.org 3 Client: jevans @ EXAMPLE.ORG Server: ldap/AD-DC01.AD.EXAMPLE.ORG/AD.EXAMPLE.ORG @ AD.EXAMPLE.ORG KerbTicket Encryption Type: AES-256-CTS-HMAC-SHA1-96 Ticket Flags 0x40a50000 -forwardable renewable pre_authent ok_as_delegate name_canonicalize Start Time: 1/26/2017 8:26:58 (local) End Time: 1/26/2017 18:25:47 (local) Renew Time: 1/26/2017 18:25:47 (local) Session Key Type: AES-256-CTS-HMAC-SHA1-96 Cache Flags: 0 Kdc Called: AD-DC01.ad.example.com
Linux端點
ktutils
,然後read_kt /etc/krb5.keytab
,然後list
slot KVNO Principal ---- ---- --------------------------------------------------------------------- 1 1 host/linux-server@IPA.EXAMPLE.COM 2 1 host/linux-server@IPA.EXAMPLE.COM 3 1 host/linux-server@IPA.EXAMPLE.COM 4 1 host/linux-server@IPA.EXAMPLE.COM 5 1 host/linux-server@IPA.EXAMPLE.COM 6 1 host/linux-server@IPA.EXAMPLE.COM 7 1 host/linux-server@IPA.EXAMPLE.COM 8 1 host/linux-server@IPA.EXAMPLE.COM 9 1 host/linux-server@IPA.EXAMPLE.COM 10 1 host/linux-server@IPA.EXAMPLE.COM 11 1 host/linux-server@IPA.EXAMPLE.COM 12 1 host/linux-server@IPA.EXAMPLE.COM
通過為cygwin****丟棄 mingw64使其工作。
mingw64 顯然是為極簡主義者設計的,並且缺少所需的 kerberos 包(在許多其他很棒的包中)
我不僅可以讓 cygwin 進行 Kerberos 身份驗證,還可以使用SSH 代理密鑰