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