GitHubGiteeGitlab共用一个SSH密钥配置

Posted noor9

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了GitHubGiteeGitlab共用一个SSH密钥配置相关的知识,希望对你有一定的参考价值。

一、说明

由于我的Github、Gitee用的邮箱不同,而且公司用的Gitlab还用的是公司邮箱,网上找了很多资料,有的很复杂,有的呢又不是我想要的,因此自己研究了一下啊,搞出来了个比较间的的配置所以Git仓库共用的的ssh。

这里简单说下原理:

  • 第一步,设置全局邮箱和用户名,这个没什么好说的
  • 第二步,生产ssh,我下面给的命令没有 -C 指定邮箱这项,原因就是我三个git仓库的邮箱都不同,如果加上-C的话就要生成三个ssh,这不是我想要的,所以我就想到了不指定邮箱,这样一试,果然成了。
  • 我们看生产的ssh密钥最后面,其实还是自动指定了邮箱:OMaster@OMaster,这个OMaster是我的设备名称,这样这一个ssh就能在所有的git仓库中使用了,如果使用-C指定了邮箱,那么生产的ssh密钥最后的邮箱就是你指定的,但同时这个ssh密钥只能用于你指定的邮箱的仓库。

二、配置SSH

1. 设置全局邮箱和用户名
# 设置全局邮箱,这里的邮箱仅仅表明你的身份,与github、gitee上注册的邮箱可以不一样
git config --global user.email "your email"
# 设置全局用户名,可以随意填写
git config --global user.name "your name"


#配置完后,可通过如下命令查看用户名、邮箱
git config user.name
git config user.emal

# 这两个命令在Git中唯一标识了你这台主机系统,因此可以在系统的任何地方进行git操作

配置完后就会发现用户(C:\\Users\\你的系统用户名)下面多了一个.gitconfig,打开看,里面的内容就是你配置的邮箱和用户名

2. 生成全局ssh
# 生产ssh密钥,一直回车即可
ssh-keygen -t rsa

可以看到,默认的ssh文件路径为C:\\Users\\OMaster.ssh,在下面有两个文件:id_rsa和id_rsa.pub,id_rsa.pub里面就是我们要的ssh密钥

三、Github、Gitee配置ssh

1. Github配置
1)配置

进入Github设置中的SSH keys页面,点击 New SSH key 按钮,输入我们的title和key,由于我们配置的是整个系统的ssh,因此这里可以填写我们系统的用户名,key填写上面说到的id_rsa.pub文件里面的ssh密钥,然后点击add按钮

2)验证
# 在你电脑的任何地方打开git bash窗口,输入如下命令
ssh -T git@github.com

注意,首次使用这个命令会需要你确认,添加到主机的SSH信任列表,如下,输入yes即可

3)演示

这里演示下通过ssh拉取Github上Hutool的源代码:

2. Gitee配置

Gitee配置和验证整体上与Github相同,这里简单说下。

1)配置

访问Gitee的ssh配置页面,直接输入标题、公钥,确定即可

2)验证
# 在你电脑的任何地方打开git bash窗口,输入如下命令
ssh -T git@gitee.com

同样的加入信任列表和配置成功的信息

3)演示

这里就不演示了,操作没什么复杂的

以上是关于GitHubGiteeGitlab共用一个SSH密钥配置的主要内容,如果未能解决你的问题,请参考以下文章

Windows ssh 免密登录

ssh localhost 配置免密登陆仍需要密码的解决方法

多台电脑共用一个ssh密钥

Linux——配置服务器间的免密登录

Linux 配置SSH免密登录

ansible不使用ssh免密远程部署