配置两个github账号

0X01 背景

github通过 ssh key 识别用户,一个ssh key并不能用于两个github账号。

0X02 方法

生成两个ssh key,并设置对应的项目使用不同的key

0X03 操作

1 创建对应ssh key

cd ~/.ssh/
ssh-keygen -t rsa -f ~/.ssh/id_rsa_one -C "one@xx.com"
ssh-keygen -t rsa -f ~/.ssh/id_rsa_two -C "two@xx.com"

2 放进不同github账号中

放入对应github的 settings -> SSH and GPG keys -> SSH keys

3 配置ssh key与host对应关系

在 ~/.ssh/中创建config文件
vi config

# 配置默认账号对应的ssh key
Host github.com
HostName github.com
User user1
IdentityFile ~/.ssh/id_rsa_one


#配置另一个帐号
Host two.github.com
HostName github.com
User user2
IdentityFile ~/.ssh/id_rsa_two
原理是修改连接不同xx.github.com时用的ssh key,再在git操作时选择xx.github.com进而采用对应的ssh key

4 拉取项目

拉取账号1的项目,因host是原版的,可直接拉取
git clone git@github.com:project1

拉取账号2的项目,改用
git clone git@two.github.com:user2/project2

此时我们看账号2的项目中,.git/config,可以看到 [remote "origin"]下的url这一项,host已经是two.github.com,之后的git操作都会基于此

0X04 额外

顺便添加上当前项目的用户名和邮件名

cd project2
git config user.name user1
git config user.email user1@xx.com
posted @ 2022-11-09 23:57  huim  阅读(126)  评论(0编辑  收藏  举报