2013-02-13 15 views
13

我的問題恰恰是標題。git-tf我該如何避免每次登記都指定我的憑據

每當我連接到TFS時,在我的命令提示符下運行命令git-tf checkin時,它會詢問我的用戶名和密碼。我怎樣才能避免這種情況? 要麼使用當前用戶登錄,要麼將憑證存儲在配置文件的某處。

回答

20

到目前爲止做到這一點的最安全的方法是根本就沒有存儲的密碼,並轉而使用單點登錄通過Kerberos或NTLM:

如果您使用的是Windows,並登錄到具有域與您的TFS服務器之間的信任關係,那麼您不需要指定用戶名和密碼。

如果您在Windows上並設置了「影子帳戶」設置,則不需要指定用戶名和密碼。如果您與TFS服務器沒有域信任關係,但您使用與您的TFS服務器上的帳戶相同的用戶名和密碼登錄到本地計算機,則會出現

如果您使用的是Unix平臺,則可以使用Kerberos進行單點登錄。當您從Active Directory服務器本身獲得票證時,最有可能出現這種情況,例如kinit activedirectory.domain.name。同樣,如果您使用的是Unix並且擁有與TFS服務器(幾乎可以肯定是Active Directory服務器本身)具有信任關係的KDC的Kerberos票證,那麼您不需要指定用戶名和密碼。 git-tf將使用您登錄的憑證進行身份驗證。

如果沒有這些應用,那麼你可以存儲在您的倉庫git的配置用戶名和密碼:

git config git-tf.server.username your-username 
git config git-tf.server.password your-password 

請注意,您的密碼將被保存在純文本的git的配置文件中請確保適當地設置ACL或文件權限,以阻止用戶從配置文件中讀取密碼。或者您可以只存儲用戶名,每次只需輸入密碼。

+0

好的。 Git配置似乎工作。但我會選擇你的其他解決方案,但不能使其工作。 我在Windows 8計算機上開發,我們的團隊基礎服務器是Windows Server 2008 R2。我坐在與團隊基礎服務器相同的本地網絡中。我在個人開發人員計算機上登錄的用戶也被添加到團隊基礎服務器。這是我在tfs提示我填寫用戶名和密碼時填寫的用戶。 我還在我的開發人員計算機上的憑證管理器中添加了一行。 有什麼明顯的我失蹤了? – John 2013-02-15 12:34:56

+0

在http://gittf.codeplex.com上給我們留言,我們會得到您的日誌的副本,看看是否有任何說明? – 2013-02-15 14:05:59

+1

我會補充說,如果你使用git config命令添加密碼,你的密碼也會存儲在你的bash歷史中。手動編輯'.git/config'文件可能會稍微好一點。感謝有關Kerberos的這些技巧:) – Uflex 2013-07-29 10:01:07

1

您可以防止混帳從這個保存到項目使用--global開關的的.gitconfig:

git config --global git-tf.server.username your-username 
git config --global git-tf.server.password your-password 

它仍然會在您的系統被保存在純文本(C :/Users/your-login/.gitconfig),但至少它不會保存在項目中的文件中。

+1

爲什麼將它保存在全局配置中是件好事?如果我有多個TFS服務器會怎麼樣? – 2014-07-19 12:06:18

+1

@EdwardThomson改爲將憑據添加到.git/config文件。在'[git-tf'服務器']'部分下,添加'username'和'password'鍵。 – 2015-05-20 15:07:39

相關問題