工作需要,在bitbucket上存在多个git帐号;
需要在本地配置多个公钥信息,用于不同git帐号的使用,于是总结下操作步骤;
1.生成第2个或者第N个公钥;
//不要一路回车,要记得取名字不然会覆盖原来的值
> ssh-keygen -t rsa -C "xiaozhihsu@xxx.com"
//输入地址文件
> /users/xuyanping/.ssh/test_id_rsa
ssh_key就会保存到相对文件下,目录下会生成test_id_rsa,test_id_rsa.pub两个文件;
2.创建config文件
vim ~/.ssh/config
输入配置信息:
Host test.bitbucket.org
HostName bitbucket.org
User git
IdentityFile ~/.ssh/test_id_rsa
StrictHostKeyChecking no
UserKnownHostsFile=/dev/null
LogLevel=quiet
3.完成,到bitbucket上配置公钥吧~
4.如果使用ssh key在git clone 的时候没有权限,可能是因为ssh key list上没有加载刚刚配置的rsa
//查看当前rsa list
ssh-add -l
//如果列表中没有新增的rsa, 添加identifile
ssh-add ~/.ssh/test_id_rsa
现在再去试试看吧~,我已经成功git clone 下来了啦~~
补充:在github上的多个帐号提交,因为之前我设置了全局的用户名和邮箱,于是出现无论ssh key如何设置
提交人的帐号都是我原先设置的全局用户用命,要在多个账户之前切换提交,如下:
# 取消全局原先使用的 用户名/邮箱 配置
git config --global --unset user.name
git config --global --unset user.email
# 设置单独项目的用户名和帐号
cd $repository_path/
git config user.email 'xxxx@xx.com'
git config user.name 'xxxx'