git作为代码版本控制工具,在clone代码的时候选择ssh协议来拉取代码。本文讲解如何在Mac上生成ssh key,然后配置在gitlab里,最后使用ssh协议进行提交和拉取git远程仓库的代码。

本地只有一个ssh key

1、打开本地git bash,使用如下命令生成ssh公钥和私钥对

ssh-keygen -t rsa -C 'yourEmail@gitlab.com'

2、然后打开~/.ssh/id_rsa.pub文件,复制里面的内容

3、打开gitlab,找到Profile Settings-->SSH Keys--->Add SSH Key,并把上一步中复制的内容粘贴到Key所对应的文本框,在Title对应的文本框中给这个sshkey设置一个名字,点击Add key按钮。

本地配置多个ssh key

1、gitlab生成一对秘钥ssh key

ssh-keygen -t rsa -C 'yourEmail@gitlab.com' -f ~/.ssh/gitlab-rsa

2、github生成一对秘钥ssh key

ssh-keygen -t rsa -C 'yourEmail@github.com' -f ~/.ssh/github-rsa

3、在~/.ssh目录下新建名称为config的文件,config文件无后缀名。该文件用于配置多个不同的host使用不同的ssh key,内容如下:

# gitlab

Host gitlab.com

HostName gitlab.com

PreferredAuthentications publickey

IdentityFile ~/.ssh/gitlab_id-rsa

# github

Host github.com

HostName github.com

PreferredAuthentications publickey

IdentityFile ~/.ssh/github_id-rsa

# 配置文件参数

# Host : Host可以看作是一个你要识别的模式,对识别的模式,进行配置对应的的主机名和ssh文件

# HostName : 要登录主机的主机名

# User : 登录名

# IdentityFile : 指明上面User对应的identityFile路径

4、按照上面的步骤分别往gitlab和github上添加生成的公钥gitlab_id-rsa.pub和github_id-rsa.pub

5、再次执行git命令不需要再次验证权限了

6、查看~/.ssh/目录下的文件,可以看到增加了gitlab_id-rsa、gitlab_id-rsa.pub和github_id-rsa、github_id-rsa.pub四个文件。

到此ssh key配置完成。

推荐文章

评论可见,请评论后查看内容,谢谢!!!
 您阅读本篇文章共花了: