我遇到了一種情況,我試圖利用 GSMAPI (Kerberos) 轉送來連接到另一個也加入 Windows AD 並使用 SSSD 的 Linux 伺服器。
Linux 電腦使用與伺服器實際 FQDN 不同的電腦名稱加入網域。當我使用網域憑證登入第一台電腦時,PAM 成功,並向我頒發了有效令牌。它顯示為klist
.然而,即使在另一台也加入網域的Linux 主機上啟用GSSAPI 和Kerberos 登入SSH 後,我仍然收到「在kerberos 資料庫中找不到伺服器」用戶端錯誤,並且它會回退到使用密碼驗證。我正在傳遞-K
以啟用 Kerberos 令牌轉發。
如果我的記憶正確,這可能是由於 AD(本例中為 Kerberos 伺服器)中的 SPN 問題導致 Linux 電腦使用與我連接到(或來自?)的實際電腦的 FQDN 不同的電腦名稱連接,但我不確定,需要一些幫助來指明我正確的方向。
答案1
GSSAPIServerIdentity
您可以透過將該選項傳遞給客戶端來使用網域控制站已知的主體名稱ssh
:
-oGSSAPIServerIdentity=host.domain.com
從ssh_config
線上說明頁:
GSSAPIServerIdentity 如果設置,則指定 ssh 連接到伺服器時應期望的 GSSAPI 伺服器身分。預設值未設置,這表示預期的 GSSAPI 伺服器身分將根據目標主機名稱確定。