解决同一台电脑生成两份或多份ssh密钥、公钥映射两个或多个GitHub账号

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/myNameIssls/article/details/80516577
解决同一台电脑生成两份或多份ssh密钥、公钥映射两个或多个GitHub账号
需求描述
本人注册一个GitHub账户,用来分享本人自己的开源项目或者代码,同时,公司注册了一个GitHub账户,用来分享公司的开源项目。如果按照单个ssh公钥生成的方法则会把之前的公钥覆盖掉,这样将导致其中一方在下一次上传代码,本机和GitHub无法映射成功。

需求分析
解决这个问题首先要明确如何生成单个ssh公钥。 
ssh生成单个公钥命令:ssh-keygen -t rsa -b 4096 -C "your_email@example.com"。如何生成ssh公钥 
上述命令会在当前~/.ssh目录下生成id_rsa和id_rsa.pub两个文件。其中id_rsa是私钥文件,id_rsa_.pub是公钥文件。 
id_rsa和id_rsa_.pub文件都是通过一个邮箱号生成的,同一个公钥文件不可以配置两个不同GitHub账户(已测试)。 
那么两个GitHub账户就需要两个不同的邮箱号,来生成两组不同的公钥文件。

解决方案
分别指定ssh公钥文件的名称即可。
命令:ssh-keygen -t rsa -C "your_email@example.com" -f ~/.ssh/id_rsa_example 
示例:分别以791815567@qq.com和galaxysoft@sina.cn两个邮箱在~/.ssh目录下生成两级不同的公钥文件。 
791815567@qq.com邮箱:ssh-keygen -t rsa -C "791815567@qq.com" -f ~/.ssh/id_rsa_me 
galaxysoft@sina.cn邮箱:ssh-keygen -t rsa -C "galaxysoft@sina.cn" -f ~/.ssh/id_rsa_galaxysoft 
生成过程可参考如何生成单个ssh公钥 这篇文章。 
执行完成后,会以~/.ssh目录下看791815567@qq.com邮箱对应的私钥文件id_rsa_me、公钥文件id_rsa_me.pub和galaxysoft@sina.cn邮箱对应的私钥文件id_rsa_galaxysoft、公钥文件id_rsa_galaxysoft.pub 
分别在两个GitHub账户中添加对应的公钥信息即可,可参考如何生成单个ssh公钥 这篇文章

通过ssh-add添加密钥至ssh-agent中
命令:ssh-add ~/.ssh/id_rsa_example; 
示例:添加本文中的两个密钥:ssh-add ~/.ssh/id_rsa_me; ssh-add ~/.ssh/id_rsa_galaxysoft;

添加config配置文件分别映射不同的GitHub账户
进入~/.ssh目录,新建config文件,并添加相应的内容:

# 个人的GitHub公钥
Host github.com
HostName github.com
PreferredAuthentications publickey
IdentityFile ~/.ssh/id_rsa_me  # 指定特定的ssh私钥文件

# BitMan's GitHub
Host github.com
HostName github.com
PreferredAuthentications publickey
IdentityFile ~/.ssh/id_rsa_galaxysoft  # 指定特定的ssh私钥文件


测试配置是否成功
测试命令:ssh -T git@github.com 
如果出现如下信息,表示配置成功:

`Hi myNameIssls!` You've successfully authenticated, but GitHub does not provide shell access.



小提示:由于配置了两个GitHub的公、私钥映射信息,测试结果并不会把两个GitHub的信息都显示出来,只会显示第一个配置的映射成功信息。例如本例中只显示了Hi myNameIssls!账户信息。
————————————————
版权声明:本文为CSDN博主「小曦阳哟」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/myNameIssls/article/details/80516577

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值