2011-10-19 19 views
2

在水銀,我可以指定在.hg/hgrc用於每個存儲庫SSH命令(以及因此證書),例如:指定GIT中SSH配置每個存儲庫

[ui] 
... 
ssh = "C:\path\to\ssh.exe" -i "C:\Development\Identities\identity1.id_rsa" 

大部分指令我可以找到關於配置Git似乎使用捆綁的ssh.exe來管理證書,例如GitHub's guide for Windows。有一種方法可以通過環境變量爲Git指定一個供SSL使用的腳本(here,位於「No supported authentication methods available」下),但每個用戶對於我來說都不夠精細。

我如何指定Git中每個倉庫SSH命令行?

回答

3

,我不知道的方法,使git做到這一點。但ssh應該足夠靈活來代替它。

首先請注意,您可以指定多個身份文件。它會依次嘗試多個身份,直到被接受。

其次,UNIX下,如果你想只有特定的身份受審某些主機,可以使通過修改~/.ssh/config有節,如做:

Host <hostname> 
    IdentitiesOnly yes 
    IdentityFile "C:\Development\Identities\identity1.id_rsa" 

雖然我不知道這是否將適用於您的捆綁的Windows ssh客戶端,或配置文件所在的位置(如果有)。

編輯:如果你想在同一主機上使用兩個不同的身份,可得做到:

Host <alias1> 
    HostName <realhostname> 
    IdentiesOnly yes 
    IdentityFile identity1 


Host <alias2> 
    HostName <realhostname> 
    IdentiesOnly yes 
    IdentityFile identity2 

和使用,爲git主機(有實質性支持治療一個主機另一個,或做更強的重寫與配置選項,如url.<base>.insteadOf

+0

謝謝,這工作得很好,雖然它不是我所希望的。我也有多個安裝Git的問題,我最終卸載所有這些除了Cygwin的,這是相當理智,並使用'c:\ cygwin \ home \ [USERNAME] \。ssh \ config'。 –