git笔记-管理多个私钥
今天在git的使用上遇到了点问题,为了能最大可能帮到跟我一样的屌丝或是比我还屌丝的屌丝们,先来个我在找解决方式时用过的关键字列表。
permission denied(public key)|id_rsa|Could not open a connection to your authentication agent
问题:
前阵子刚用上github,爽的很。最近听到国内有个gitcafe,今天微博上正好看到它不用邀请码了,就注册了一个,帮不上忙,咱给人家添点人气。
然后按教程配置git。然后在ssh设置无需密码登录这块,问题来了。
我用ssh git@gitcafe.com登录,提示permission denied(public key),以为是和github有关系,就卸载了github,装了msysgit,顺便想细细了解下。然后好了。。。两个都失败了。
原因:
ssh的钥匙们在windows下是放在C:\Users\yourname\.ssh下的(linux下估计是/etc/ssh/config之类的),打开来,看到github_rsa和github_rsa.pub两个文件。
然后以前没摆弄过神马钥匙的我顺理成章就参照github生成的格式做了,把自己的gitcafe钥匙命名成了gitcafe和gitcafe.pub。
这样一来我这就同时存在两个钥匙,但问题是ssh在找私钥时默认找的是叫id_rsa的文件,我这没有,把其中一个比如gitcafe改成id_rsa就可以用ssh git@gitcafe.com登录了,好吧,问题解决了!。。。。开个玩笑。。
解决:
在这里找到了解决方法:http://www.leeyupeng.com/2011/11/multiple-ssh-private-keys/
方便起见,精简搬运到这里。
可以在上文提到的存放钥匙的地方新建config文件配置使用多个私钥。
新建config文件
touch ~/.ssh/config
编辑config,配置ssh按域名选择不同的私钥。
Host github.com IdentityFile ~/.ssh/github User git Host gitcafe.com IdentityFile ~/.ssh/gitcafe User git