2011-08-29 51 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