MAC配置SSH密钥
众所周知,我们可以将代码托管到线上很多平台,gitee / github / gitlab 等等。
在企业中我们可能会遇到这种情况:
企业的项目是放在gitlab上托管的,我需要为gitlab配置一个SSH密钥,但是我自己的项目是放到github上的,我需要为github也配置一个SSH密钥,这就涉及到了管理多个SSH密钥的问题,下面我分别介绍了配置单个和多个SSH密钥的方式。
一、配置单个SSH密钥
例如:为企业gitlab配置SSH密钥
在终端中依次输入如下命令:
注意这里邮箱是你公司的地址,敲完一路回车就好
1
ssh-keygen -t rsa -C "yourmail@gmail.com"
切换到.ssh目录下,查看一下目录下的文件
1
2cd .ssh
ls查看公钥(id_rsa.pub),复制下来,打开gitlab的Settings里的SSH Keys将复制的添加进去,会自动生成Title为你的邮箱。
1
cat id_rsa.pub
将私钥(id_rsa)添加到SSH-agent
1
SSH-add ~/.ssh/id_rsa
二、配置多个SSH密钥
在这里我需要再为github配置一下SSH,如果重复上面的步骤,会出现密钥覆盖的情况,所以我们需要为新的密钥文件设置新的名字,步骤如下:
这里邮箱是你注册github的邮箱,注意第一次回车之后需要为生成的密钥自定义名字,输入一个id_rsa_github,输入完之后一路回车
1
ssh-keygen -t rsa -C "yourmail@gmail.com"
查看一下自己生成的SSH
1
2cd .ssh
ls目录下的文件应该有这些:
1
id_rsa.pub id_rsa_github.pub id_rsa id_rsa_github known_hosts
这里id_rsa和id_rsa.pub是我的gitlab的私钥和公钥,id_rsa_github和id_rsa_github.pub是我的github的私钥和公钥。
查看公钥(id_rsa_github.pub),打开github的Settings里的SSH and GPG keys,New SSH key,将公钥复制进去,设置Title为你的邮箱名。
1
cat id_rsa_github.pub
添加私钥
1
ssh-add ~/.ssh/id_rsa_github
添加配置文件
在.ssh/下创建config文件
1
touch config
用vim编辑器打开config,输入i切换到插入模式进行修改
1
vim config
在config中输入一下内容
注意:如果Gitlab是用的公司的服务器,需要在HostName中指定公司的域名。
1
2
3
4
5
6
7
8
9
10#gitlab
Host gitlab.com
HostName gitlab.com
PreferredAuthentications publickey
IdentityFile ~/.ssh/id_rsa
#github
Host github.com
HostName github.com
PreferredAuthentications publickey
IdentityFile ~/.ssh/id_rsa_github