2011-08-29 50 views
5

我處於一種情況,我需要我的msysgit與不同的密鑰與github對話。不過,git bash堅持使用名爲id_rsa 的密鑰文件僅限於。如果我做ssh -vT [email protected]我看到只有id_rsa被提供。在msysgit窗口中永久添加SSH密鑰

所以每當我需要使用任何其他鍵我必須做的這一切,

ssh-agent bash 
ssh-add ~/.ssh/mygithubkey 
git clone [email protected]:myaccount/myrepo.git 

或重命名mygithubkeyid_rsa每當我需要備份的原始id_rsa到另一個文件anotherkey

和當然這是一種痛苦,尤其是因爲命令歷史在常規git bash中也有所不同。

stackoverflow中的其他答案只幫助到達我的上述解決方法。如果我這樣做

ssh-add ~/.ssh/mygithubkey 

直接在我的git bash中,它說無法連接到ssh-agent。如果我在git的慶典做

ssh-agent ssh-add ~/.ssh/mygithubkey 
git pull 
ssh -vT [email protected] 

直接,它說權限被拒絕,似乎ssh-add沒有真正永久添加的關鍵!在詳細模式下查看調試消息時不提供添加的密鑰。

無論如何要永久添加ssh密鑰列表提供,當sshing到github?我是ssh配置中的noob,所以請在答案中詳細說明。

+0

爲什麼你需要多個鍵?一個關鍵應該是你所需要的。 – Tekkub

+0

你是對的,我可以用一把鑰匙來管理,但只是作爲一個學術問題,人們可以在這裏嘗試一個答案? – Zasz

+1

這是可能的,但在屁股很大的痛苦,真的不值得做:http://help.github.com/multiple-ssh-keys/ – Tekkub

回答

3

我建議使用類似於this answer~/.ssh/config文件。喜歡的東西:

Host github1 
    User git 
    Hostname github.com 
    IdentityFile ~/.ssh/mygithubkey 

Host github2 
    User git 
    Hostname github.com 
    IdentityFile ~/.ssh/myothergithubkey 

這樣,你可以很容易地通過輸入任何ssh github1ssh github2連接切換鍵。

+0

這將在Windows上? – CMCDragonkai

+2

代字號('〜')是當前用戶的主目錄的佔位符,即Windows上'%HOMEDRIVE %% HOMEPATH%'指向的組合。從Windows Vista開始,這將是'C:\ Users \ ',因此配置文件將位於'C:\ Users \ \ .ssh \ config'。 – sschuberth