git配置多个ssh-key

我们在日常工作中会遇到公司有个gitlab,还有些自己的一些项目放在github上,这样就导致我们要配置不同的ssh-key对应不同的环境。我在网上也看了几篇文章,其中开源中国的这篇讲的比较好,但是文章中的代码还是有很多细节问题,所以我照猫画虎,详细写一下设置的过程。

1、生成公司和个人的ssh-key

$ ssh-keygen -t rsa -C 'youremail@yourcompany.com' -f ~/.ssh/company_rsa
$ ssh-keygen -t rsa -C 'youremail@your.com' -f ~/.ssh/github_rsa
生成公司和个人的ssh-key

2、我们将github_rsa.pub中的内容添加到自己的github中。

添加到github

3、继续输入命令行添加私钥

$ ssh-agent bash
$ ssh-add ~/.ssh/company_rsa
$ ssh-add ~/.ssh/github_rsa
$ ssh-add -l
添加私钥

4、进入到~/.ssh目录下新建config文件

$ cd ~/.ssh
$ touch config

5、用编辑器打开config文件并添加内容

# gitlab
Host gitlab.com
    HostName gitlab.com
    PreferredAuthentications publickey
    IdentityFile ~/.ssh/company_rsa
# github
Host github.com
    HostName github.com
    PreferredAuthentications publickey
    IdentityFile ~/.ssh/github_rsa
打开config文件并添加内容

6、测试

$ ssh -T git@github.com
测试

7 、小结

  • 在上面第6步测试的时候,这里老是失败,因为我一般都是习惯性的回车操作,这样的话就会导致failed,一定要输入yes;

  • 以上我们是以配置并连接自己的github远程仓库为例的,配置公司账户的ssh-key道理是一样的所以我就没展开了,需要注意的是在配置公司的时候,记住要把config文件夹中的Host地址改成内网的IP地址:

    以我公司的内网ip为例

  • 这样我们就成功配置了多个ssh-key了。

推荐阅读更多精彩内容