git 的多个SSH KEY 管理

前言:

最近在切换github账户的时候遇到了github账号和gitee账户不同及公司使用gitlab账户不同的问题。涉及到一台电脑需要不同的用户间相互不影响,如何实现多个ssh-key的配置,如何保证使用正确的切换不同私钥验证提交?


同一台电脑,多个ssh key

多个ssh key 共存需要满足以下几条规则:

  • 多个用户,多个ssh key共存。
  • 互不影响,不覆盖。
  • 与不同服务器交互时,可以智能选择ssh key

如何实现

1. 生成新的ssh key
1
ssh-keygen -t rsa -C "youremail@email.com"

注意:不要连续三次回车,会覆盖掉之前的生成的ssh key,这次需要重新输入ssh key的名称。以second为例。

2. .ssh目录会多出刚生成的id_rsa_second和id_rsa_second.pub
3. 新的远程服务器添加公钥
4. 在.ssh目录下创建config文件
1
2
3
4
5
6
7
8
9
10
#first
Host github.com
HostName github.com
User git
IdentityFile /c/Users/stepwen/.ssh/id_rsa
#second
Host second.github.com
HostName github.com
User git2 //用户名称
IdentityFile /c/Users/stepwen/.ssh/id_rsa_second
5.测试连接情况
1
ssh -T git@second.github.com

其中git并非第四步配置的用户名,而是固定写法。
如果正常的话会出现successfully字样。

6.使用的时候需要修改git地址

git@second.github.com:用户名/mybatis-plus.git