配置两个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