git配置多个SSH密钥

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"
  1. 切换到.ssh目录下,查看一下目录下的文件
cd .ssh
ls
  1. 查看公钥(id_rsa.pub),复制下来,打开gitlab的Settings里的SSH Keys将复制的添加进去,会自动生成Title为你的邮箱。
cat id_rsa.pub
  1. 将私钥(id_rsa)添加到SSH-agent
SSH-add ~/.ssh/id_rsa

配置多个SSH密钥

在这里我需要再为github配置一下SSH,如果重复上面的步骤,会出现密钥覆盖的情况,所以我们需要为新的密钥文件设置新的名字,步骤如下:

  1. 这里邮箱是你注册github的邮箱,注意第一次回车之后需要为生成的密钥自定义名字,输入一个id_rsa_github,输入完之后一路回车
ssh-keygen -t rsa -C "yourmail@gmail.com"
  1. 查看一下自己生成的SSH
cd .ssh
ls

目录下的文件应该有这些: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的私钥和公钥。
3. 查看公钥(id_rsa_github.pub),打开github的Settings里的SSH and GPG keys,New SSH key,将公钥复制进去,设置Title为你的邮箱名。

cat id_rsa_github.pub
  1. 添加私钥
ssh-add ~/.ssh/id_rsa_github
  1. 添加配置文件
  • 在.ssh/下创建config文件
touch config
  • 用vim编辑器打开config,输入i切换到插入模式进行修改
vim config

在config中输入一下内容

注意:如果Gitlab是用的公司的服务器,需要在HostName中指定公司的域名。

#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

至此大功告成

posted @ 2020-06-19 15:43  木子呆头  阅读(1681)  评论(0编辑  收藏  举报