在日常开发中,难免会遇到多个 github 账号使用同一个 github 服务的情况,在使用过一个 github 账号的同时,新增一个 github 账号会导致无权限拉取另一个项目,那么改如何解决?

1. 生成 SSH keys

我们检查 .ssh 目录是否有 id_rsa.pub 文件,如果没有的话就生成一个吧

ssh-keygen -t rsa

这个生成的 ssh key 是用来常规的 github 操作,在 github 的设置页面配置公钥  ,直接 git clone + 仓库地址即可

接下来生成第二个 github 账号专属的 xx.pub 文件

ssh-keygen -t rsa -C "two@qq.com" -f "two"

-C 用于识别这个密钥的注释  
-f 生成密钥的文件名

2. 新增 config 文件

~/.ssh/ 目录下新增 config 文件

# 默认配置
Host github.com
   HostName github.com
   User git
   IdentityFile ~/.ssh/id_rsa
   
# 第二个账号
Host two.github.com
   HostName github.com
   User git
   IdentityFile ~/.ssh/two

two.github.com 这里可以随便命名,在克隆第二个 github 仓库的时候,需要把 github.com 的域名改为 two.github.com 即可