最近遇到了一个烦恼,就是为了避免输入密码,自己的bitbucket帐号需要配置ssh,而团队项目的bitbucket帐号又要配置ssh。这时候麻烦来了,由于我只有一台电脑,而我又有两个帐号,bitbucket后台可以添加多个ssh key,但是同一个SSH Keys只能在添加在一个帐号上(添加时提示“Key is already in use”)。下面是解决办法——给一台电脑产生多个公钥密钥:
1.
$ssh-keygen -t rsa -C 'youremail@email.com'
输出:
Generating public/private rsa key pair.
Enter file in which to save the key (/c/Users/Administrator/.ssh/id_rsa):
接着输入你的新密钥的路径如:
Enter file in which to save the key (/c/Users/Administrator/.ssh/id_rsa):/c/Users/Administrator/.ssh/id_rsa2
其中id_rsa2是你新产生的密钥的名字
2.
打开~/.ssh/config文件(没有则创建),添加一个Host:
#建一个bitbucket别名,新建的帐号使用这个别名做克隆和更新
Host bitbucket2
HostName bitbucket.org
User git
IdentityFile ~/.ssh/id_rsa2.pub
如果是github则是:
#建一个github别名,新建的帐号使用这个别名做克隆和更新
Host github2
HostName github.com
User git
IdentityFile ~/.ssh/id_rsa2.pub
3.
打开新生成的~/.ssh/id_rsa2.pub文件,将里面的内容添加到bitbucket/github后台。
4.
使用ssh-add添加你的新ssh
$ssh-add C:/Users/Administrator/.ssh/id_rsa3
如果出现提示:Could not open a connection to your authentication agent.
则先:
$eval `ssh-agent`
tip: `是~那个按键上的
再进行ssh-add
5.
在使用git glone等命令的时候将bitbucket SSH仓库地址中的git@bitbucket.org替换成你在第二步新建的Host别名bitbucket2。
如原地址是:git@bitbucket.org:somthing/mail.git,替换后应该是:bitbucket2:somthing/mail.git
如果是新建的仓库,直接使用替换后的URL克隆即可。如果已经使用原地址克隆过了,可以使用命令修改:
$git remote set-url origin bitbucket2:somthing/mail.git
接下来就ok了~~*地使用git命令来管理你的仓库吧~