GitHub-微软-github.com
Gitee-开源中国- gitee.com
Gitlab-乌克兰GitLab 公司-gitlab.com
极狐(JihuLab)-中国代理商运营的Gitlab -gitlab.cn或者jihulab.com
一、生成SSH公钥和私钥
1.1 取消全局设置
$ git config --global user.name "你的名字"
$ git config --global user.email "你的邮箱"
用 git config --global --list指令查看你是否清除全局设置成功:如果没有出现user和email,那就代表全局设置清除成功。
1.2 生成SSH公钥和私钥
ssh-keygen命令中指定私钥名称后,会同时生成是一对SSH公钥和私钥,带有.pub后缀的是公钥。
例如,gitee_id_rsa就是私钥,gitee_id_rsa.pub就是公钥。
1、私钥gitee_id_rsa位置在config文件中配置,由开发者手动ssh-keygen命令执行生成后,存放在本地机器~/.ssh 目录【C:\Users\用户名\.ssh】目录中。
2、公钥gitee_id_rsa.pub配置到对应的代码托管平台(例如GitHub&Gitee&Gitlab&极狐(JihuLab)中。
3、提交代码时,通过校验对应的SSH公私钥,确认用户身份和提交的平台。。
生成SSH公钥和私钥
【此处邮箱123456@qq.com不是默认,要修改成开发者个人配置的】
1、生成一个Gitee用的SSH-Key。
$ssh-keygen -t rsa -C ‘123456@qq.com’ -f ~/.ssh/gitee_id_rsa2、生成一个GitHub用的SSH-Key。
$ssh-keygen -t rsa -C ‘123456@qq.com’ -f ~/.ssh/github_id_rsa3、生成一个GitLab用的SSH-Key。
ssh-keygen -t rsa -C '123456@qq.com' -f ~/.ssh/gitlab_en_id_rsa4、生成一个极狐(JihuLab)用的SSH-Key
ssh-keygen -t rsa -C '123456@qq.com' -f ~/.ssh/gitlab_id_rsa注意输入生成SSH-key指令后,需要按回车3次,表示empty,即“空”,“空”代表没有密码。
1.3 生成GitLab的SSH公私钥的过程截图(其他平台把ssh-keygen命令更换即可)
1.4 私钥gitee_id_rsa与公钥gitee_id_rsa.pub的内容
私钥gitee_id_rsa
公钥gitee_id_rsa.pub
1.5 GitHub&Gitee&Gitlab&极狐(JihuLab)最后生成的SSH公钥和私钥
同理,GitHub、Gitee、极狐(JihuLab)也是重复上述同样的过程,更换对应平台的ssh-keygen命令即可,此处不再赘述。
GitHub和Gitee对应过程,见我这篇文章中的:Git同时配置Gitee和GitHub两个不同的SSH-Key 。
二、 指定GitHub&Gitee&Gitlab&极狐的config私钥配置文件
在 ~/.ssh 目录【C:\Users\用户名\.ssh】下新建一个config文件,添加如下内容(其中Host和HostName填写git服务器的域名,IdentityFile指定私钥的路径)
# github
# ssh -T git@github.com
Host github.com
HostName github.com
PreferredAuthentications publickey
IdentityFile ~/.ssh/github_id_rsa#2023-3-3 00:57:06
# gitee
# ssh -T git@gitee.com
Host gitee.com
HostName gitee.com
PreferredAuthentications publickey
IdentityFile ~/.ssh/gitee_id_rsa#极狐第一种
#2023-4-5 22:37:31 jihulab
#ssh -T git@gitlab.cn
Host gitlab.cn
Hostname altssh.jihulab.com
User git
Port 443
PreferredAuthentications publickey
IdentityFile ~/.ssh/gitlab_id_rsa#极狐第二种
#2023-4-5 22:37:31 jihulab
#ssh -T git@jihulab.com
Host jihulab.com
Hostname altssh.jihulab.com
User git
Port 443
PreferredAuthentications publickey
IdentityFile ~/.ssh/gitlab_id_rsa#2023-4-6 01:00:05
#ssh -T git@gitlab.com
#gitlab
Host gitlab.com
HostName gitlab.com
#User git
#Port 443
PreferredAuthentications publickey
IdentityFile ~/.ssh/gitlab_en_id_rsa
三、添加对应的公钥到GitHub&Gitee&Gitlab&极狐(JihuLab)。(添加时会让你输入密码认证)
GitHub和Gitee添加对应的公钥的过程,见我这篇文章:Git同时配置Gitee和GitHub两个不同的SSH-Key 二、生成SSH公钥-4、添加对应的公钥到Gitee和GitHub。(添加时会让你输入密码认证)
3.1 Gitee中配置公钥gitee_id_rsa.pub
//查看生成的Gitee公钥gitee_id_rsa.pub,复制Gitee公钥gitee_id_rsa.pub
//或者直接去C:\Users\用户名\.ssh目录下直接用文本编辑器打开Gitee公钥gitee_id_rsa.pub,复制Gitee公钥gitee_id_rsa.pub的内容
cat ~/.ssh/gitee_id_rsa.pub
复制该Gitee公钥gitee_id_rsa.pub:
点击账号设置
添写标题和Gitee公钥gitee_id_rsa.pub内容后点击确定,后输入密码认证:
添加成功:
3.2 GitHub中配置公钥github_id_rsa.pub
//查看生成的GitHub公钥github_id_rsa.pub,复制GitHub公钥github_id_rsa.pub
cat ~/.ssh/github_id_rsa.pub
点击Settings
点击New SSH Key
输入标题&复制粘贴公钥github_id_rsa.pub的内容&点击Add SSH Key
3.3 Gitlab中配置公钥gitlab_en_id_rsa.pub
//查看生成的Gitlab公钥gitlab_en_id_rsa.pub,复制Gitlab公钥gitlab_en_id_rsa.pub
cat ~/.ssh/gitlab_en_id_rsa.pub
点击Preferences
点击SSH Keys
点击Add new key
填写 Gitlab公钥gitlab_en_id_rsa.pub相关信息后点击Add key:
3.4 极狐(JihuLab)中配置公钥gitlab_id_rsa.pub
//查看生成的极狐(JihuLab)公钥gitlab_id_rsa.pub,复制极狐(JihuLab)公钥gitlab_id_rsa.pub
cat ~/.ssh/gitlab_id_rsa.pub
点击偏好设置
点击SSH密钥
点击添加新密钥
填写密钥-标题-使用类型-到期时间等信息后-点击添加密钥
四、检测是否配置成功
4.1 检测命令
首次使用,会出现Are you sure you want to continue connecting(yes/no/[fingerprint] ?时 输入yes。【表示确认添加主机到可信任列表】
//检测GitHub
ssh -T git@github.com//检测gitee
ssh -T git@gitee.com//检测极狐(JihuLab)【中国代理商运营的Gitlab】
ssh -T git@gitlab.cn
或
ssh -T git@jihulab.com//检测Gitlab
ssh -T git@gitlab.com
4.2 检测命令执行成功截图