GitHub多账号密钥配置

GitHub多账号密钥配置
问题描述

之前在自己的GitHub账号配置过本地电脑的ssh key,然后用同样的ssh key给另外一个GitHub账号配置密钥,发现报如下错误:
这里写图片描述
其实这个问题的原因很简单,主要是GitHub账号和服务器通信的ssh密钥对是一一对应的,不允许多个账号使用同样的密钥对,否则会出现歧义,需要为每个账号配置不同的密钥对。

解决方法

1.为每个GitHub账号单独生成ssh密钥对:

ssh-keygen -t rsa -f github1 -C "abc@gmail.com"
ssh-keygen -t rsa -f github2 -C "def@gmail.com"

2.把生成的公钥分别添加到GitHub账号管理后台:
这里写图片描述
3.编辑~/.ssh/config文件添加如下内容:

# 其中Host是主机别名,HostName是github服务器地址,User是GitHub服务器用户名,
# IdentityFile是和GitHub服务器通信的ssh私钥,通过IdentityFile就可以区分出
# 不同的账号。
Host account1
    HostName github.com
    User git
    IdentityFile ~/.ssh/github1
Host account2
    HostName github.com
    User git
    IdentityFile ~/.ssh/github2

4.使用ssh-agent管理生成的私钥:

ssh-add github1
ssh-add github2

5.在使用git clone时将GitHub SSH仓库地址中的git@github.com替换成第三步新建的Host别名account1或account2(仓库属于哪个Host则使用哪个,这里假设仓库属于account1,GitHub账号的区分是通过在GitHub管理后台添加的公钥来辨识)。如原地址是:git@github.com:qianghaohao/TranslateProject.git 替换后应该是:account1:qianghaohao/TranslateProject.git 如果是新建的仓库,直接使用替换后的URL克隆即可。如果已经使用原地址克隆过了,可以使用命令修改远程仓库地址:

git remote set-url origin account1:qianghaohao/TranslateProject.git
参考文章

http://blog.csdn.net/u010387196/article/details/41266255
http://happy123.me/blog/2014/12/07/duo-ge-gitzhang-hao-zhi-jian-de-qie-huan

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值