2013-11-24 53 views
3

我已經在我的構建機器上安裝了TFS Express 2013的安裝。我可以通過網絡和Visual Studio 2013連接,只需使用我的域憑證(NTLM)即可,但是沒有第三方工具或命令行工具可以進行身份​​驗證。在命令行輸入我的憑據時,我得到的全部是fatal: Authentication failedTeam Foundation Server 2013 Express - 無法通過命令行連接到git repo

服務器強制https使用自簽名證書,並使用我的域憑證進行訪問。我已將證書添加到我的開發機器的根CA,並在我的gitconfig中使用sslVerify = false - 正常的SSL問題已解決(但可能是相關的)。

到目前爲止,我已經嘗試了幾個選項,我發現在this question,但沒有運氣。從密碼

    • 刪除特殊字符下降到msysgit 1.8.1
    • 使用/重新安裝gitcredentialstore,沒有運氣。手動設置憑據也不起作用。
    • 在構建機器上創建本地用戶,添加到TFS項目中,仍然無法連接。
    • 在IIS中啓用基本身份驗證,沒有任何內容,因此將其關閉,只剩下Windows身份驗證。

    允許http正常工作,但不願意讓它成爲生產。

    我可以在命令行連接到github,但不是TFS。

    任何額外的見解將不勝感激。

  • +2

    msysgit出人意料地足夠聰明,可以說NTLM/SPNEGO,但前提是你在提示時不輸入用戶名和密碼(回車)。這對你有用嗎?你可以讓提琴手或wireshark表明正在發送什麼? –

    +0

    謝謝 - 幫我排除了一些東西。結果是不同的 - 主要是管理員(我)配置錯誤。 – Leniency

    +0

    不錯,很高興它爲你工作。 –

    回答

    3

    愛德華的評論幫助,能夠排除msysgit - 不知道它支持NTLM(曾閱讀其他有關CURL的混合材料)。

    用Wireshark(非常複雜的,信息超載)和Fiddler(更容易使用)捅了一下,但沒有真正跳出來。

    因此,事實證明這是IIS中的總管理員錯誤(我)。

    默認情況下,TFS Express將自己安裝到端口8080上的自己的站點(或者至少它爲我做了,因爲我有一個現有的站點)。我希望它位於主站點之下,所以只需關閉它,並在我的主站點添加一個新的虛擬目錄。做了一些SSL配置,但忘了一些東西 - 完全匹配IIS中的身份驗證設置。它的工作足以讓Web和VS訪問,但msysgit有問題。

    TFS默認安裝只允許Windows身份驗證(有),只有NTLM作爲提供程序(仍有協商在那裏)。其次是Windows Auth上的高級屬性 - 將擴展保護視爲接受。 TFS默認關閉。

    • 刪除所有提供者,但NTLM。
    • 關閉擴展保護。

    現在就開始工作。

    +0

    謝謝,我設置了Kerberos,但NTLM,並拋出錯誤「致命:驗證失敗'',當git基本身份驗證。 – chsword

    相關問題