一台设备添加多个ssh key,工作开源两手抓

68 阅读1分钟

有些时候,我们需要在公司的仓库和自己的仓库中使用不同的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多个~~