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

您所在的位置:网站首页 虚拟机一台电脑两人用 解决同一台电脑生成两份或多份ssh密钥、公钥映射两个或多个GitHub账号

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

2023-11-19 10:33| 来源: 网络整理| 查看: 265

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

本人注册一个GitHub账户,用来分享本人自己的开源项目或者代码,同时,公司注册了一个GitHub账户,用来分享公司的开源项目。如果按照单个ssh公钥生成的方法则会把之前的公钥覆盖掉,这样将导致其中一方在下一次上传代码,本机和GitHub无法映射成功。

需求分析

解决这个问题首先要明确如何生成单个ssh公钥。 ssh生成单个公钥命令:ssh-keygen -t rsa -b 4096 -C "[email protected]"。如何生成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 "[email protected]" -f ~/.ssh/id_rsa_example 示例:分别以[email protected][email protected]两个邮箱在~/.ssh目录下生成两级不同的公钥文件。 [email protected]邮箱:ssh-keygen -t rsa -C "[email protected]" -f ~/.ssh/id_rsa_me [email protected]邮箱:ssh-keygen -t rsa -C "[email protected]" -f ~/.ssh/id_rsa_galaxysoft 生成过程可参考如何生成单个ssh公钥 这篇文章。 执行完成后,会以~/.ssh目录下看[email protected]邮箱对应的私钥文件id_rsa_me、公钥文件id_rsa_me.pub和[email protected]邮箱对应的私钥文件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 [email protected] 如果出现如下信息,表示配置成功:

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

小提示:由于配置了两个GitHub的公、私钥映射信息,测试结果并不会把两个GitHub的信息都显示出来,只会显示第一个配置的映射成功信息。例如本例中只显示了Hi myNameIssls!账户信息。



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3