有些时候,我们需要在公司的仓库和自己的仓库中使用不同的ssh key,这也就意味着,我们需要在同一台设备中生成两份ssh key,并分别添加到公司的仓库和个人仓库,工作开源两手抓。
一、生成ssh key
//用公司账号生成ssh key
ssh-keygen -t ed25519 -C "company_email@company.com" -f ~/.ssh/company_rsa
//获取公司的ssh key
cat ~/.ssh/company_rsa.pub
//用私人账号生成ssh key
ssh-keygen -t ed25519 -C "self_email@self.com" -f ~/.ssh/self_rsa
//获取私人邮箱生成的ssh key
cat ~/.ssh/ssh_rsa.pub
二、添加不同域名的IdentityFile
//查看文件
ls ~/.ssh
//如果没有~/.ssh/config文件,需要先创建
touch ~/.ssh/config
//打开文件
open ~/.ssh/config
添加域名的解析
# self
Host github.com
HostName github.com
PreferredAuthentications publickey
IdentityFile ~/.ssh/self_rsa
# company
Host conpany_git.com
HostName conpany_git.com
PreferredAuthentications publickey
IdentityFile ~/.ssh/company_rsa
分别将公司的ssh key 和私人账号的ssh key添加到对应的代码管理平台中
三、分别配置两个账号的username和email
1、修改全局.gitconfig的内容(将原先添加的user配置删除)
假设在你的设备中,个人项目存放在文件夹
self中,公司项目存放在company中
[includeIf "gitdir:~/self/"]
path = .gitconfig-self
[includeIf "gitdir:~/company/"]
path = .gitconfig-company
2、添加个人信息配置
- 创建.gitconfig-self文件
touch .gitconfig-self
open ~/.gitconfig-self
添加内容
[user]
name = 轻风徐来
email = self_email@self.com
3、添加公司信息配置
- 创建.gitconfig-company文件
touch .gitconfig-company
open ~/.gitconfig-company
添加内容
[user]
name = 轻风
email = company_email@company.com
这样就搞定啦,如果愿意,你可以添加N多个~~