Mac OS 下配置多个 SSH Key

2,056 阅读1分钟

大家在工作中可能会遇到需要在一台电脑上配置不同的 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

  • Host 名称可以随便设置,HostName 就是网站的地址
  • 这里要注意的一点是,例如公司 Gitlab 主机地址是http://10.10.10.89:11000,那么 HostName 就是 10.10.10.89

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"