我们在日常工作中会遇到公司有个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
了。