添加新伺服器到伺服器管理器,得到 Kerberos 錯誤 0x80090322
我正在建立一個 Windows 實驗室環境。它有一個 Win2012R2 域控制器 (srv001),我想將另一個 Win2012R2 伺服器添加到域 (srv003)。其實,一切都很順利。我為新伺服器提供了與 DC 在同一子網中的靜態 IP 地址,將其指向正確的 DNS 伺服器並將伺服器添加到域中。
但是,當我將新伺服器添加到伺服器管理器時,出現 Kerberos 錯誤:0x80090322。我有一條很長的錯誤消息,我將在下面發布。我做了一些測試,發現我實際上能夠使用 Kerberos 身份驗證設置到伺服器的遠端 Powershell 會話:
$s = New-PSSession -ComputerName srv003 -Authentication Kerberos $s | Enter-PSSession
這裡沒有問題。我
Enable-PSRemoting
在遠端伺服器上執行,那裡也沒有問題。為什麼伺服器管理器不喜歡我的新伺服器?特別是因為可以使用伺服器管理器抱怨的相同協議來設置遠端 Powershell。
屬於錯誤程式碼 0x80090322 的錯誤消息:
配置刷新失敗,出現以下錯誤:無法從伺服器檢索元數據,原因是以下錯誤:WinRM 無法處理請求。使用 Kerberos 身份驗證時出現以下錯誤,錯誤程式碼為 0x80090322:發生未知安全錯誤。可能的原因有:
- 指定的使用者名或密碼無效。
- 當沒有指定身份驗證方法和使用者名時使用 Kerberos。
- Kerberos 接受域使用者名,但不接受本地使用者名。
- 遠端電腦名稱和埠的服務主體名稱 (SPN) 不存在。
- 客戶端和遠端電腦位於不同的域中,兩個域之間沒有信任。
檢查上述問題後,請嘗試以下操作:
- 檢查事件查看器以獲取與身份驗證相關的事件。
- 改變認證方式;將目標電腦添加到 WinRM TrustedHosts 配置設置或使用 HTTPS 傳輸。請注意,TrustedHosts 列表中的電腦可能未經過身份驗證。
- 有關 WinRM 配置的詳細資訊,請執行以下命令:winrm help config。
要返回錯誤消息中的編號項目:
我使用域管理員帳戶來執行此操作。
不知道如何在伺服器管理器中更改它,所以我想預設應該這樣做。
我在域內執行,以域管理員身份啟動伺服器管理器。
伺服器實際上有以下我沒有接觸過的 SPN:
Dfsr-12F9A27C-BF97-4787-9364-D31B6C55EB04/srv003.rwwilden01.local
期限/SRV003
TERMSRV/srv003.rwwilden01.local
WSMAN/srv003
WSMAN/srv003.rwwilden01.local
受限的KrbHost/SRV003
主機/SRV003
RestrictedKrbHost/srv003.rwwilden01.local
主機/srv003.rwwilden01.local
兩台電腦都在同一個域中。
客戶端電腦上沒有事件。
沒有必要這樣做。
好的,我終於想通了。我又仔細查看了遠端伺服器的事件日誌。它包含帶有以下錯誤文本的錯誤:
Kerberos 客戶端收到KRB_AP_ERR_MODIFIED來自伺服器 srv003 的錯誤。使用的目標名稱是 HTTP/srv003.rwwilden01.local。這表明目標伺服器未能解密客戶端提供的票證。當目標伺服器主體名稱 (SPN) 在目標服務使用的帳戶以外的帳戶上註冊時,可能會發生這種情況。確保目標 SPN 僅在伺服器使用的帳戶上註冊。如果目標服務帳戶密碼與在 Kerberos 密鑰分發中心上為該目標服務配置的密碼不同,也會發生此錯誤。確保伺服器上的服務和 KDC 都配置為使用相同的密碼。如果伺服器名稱不是完全限定的,並且目標域 (RWWILDEN01.LOCAL) 與客戶端域 (RWWILDEN01.LOCAL) 不同,
似乎我在一周前使用 SPN 添加了一個託管服務帳戶
HTTP/srv003.rwwilden.local
。我不確定為什麼伺服器管理器首先嘗試這個目標名稱,但顯然這不起作用。這是有道理的,因為這個 SPN 與實際伺服器幾乎沒有關係。刪除服務帳戶後,一切都開始按我的預期工作。