大家在工作中可能会遇到需要在一台电脑上配置不同的 SSH Key 的情况,例如我们需要同时使用个人 Github 以及公司的 Gitlab 情况,这时我们就需要配置不同的 SSH Key 了。具体操作步骤如下:

1、打开终端,切换到系统的 SSH 目录下


cd ~/.ssh

2、生成自己 Github 的 SSH Key


ssh-keygen -t rsa -C "自己Github账号" -f github_rsa

3、输入 Github 账号密码

4、Github SSH 公钥获取


cat ~/.ssh/id_rsa.pub

5、生成公司 Gitlab 的 SSH Key


ssh-keygen -t rsa -C "公司Gitlab账号" -f company_rsa

6、公司 SSH 公钥获取


cat ~/.ssh/id_rsa.pub

7、添加配置文件 config (如果有则直接编辑,没有则创建,路径 ~/.ssh/config),配置写法如下:


# github
Host github.com
HostName github.com
PreferredAuthentications publickey
IdentityFile ~/.ssh/github_rsa

# gitlab
Host gitlab.com
HostName gitlab.com
PreferredAuthentications publickey
IdentityFile ~/.ssh/company_rsa

8、把之前生成的 SSH Key 添加到相应平台

9、测试一下是否添加成功


# 测试 GitHub

ssh -T git@github.com

# 测试 GitLab

ssh -T git@gitlab.com

10、不同项目切换不同的 ssh

  取消全局 用户名/邮箱设置,并进入项目文件夹单独设置
  git config –global –unset user.name
 git config –global –unset user.email

 # 单独设置每个repo 用户名/邮箱
 git config user.email "xxxx@xx.com"
 git config user.name "xxxx"