GitHub、Gitee、Gitlab共用一个SSH密钥配置

目录

  • [1. 说明](#1. 说明)
  • [2. 生成ssh](#2. 生成ssh)
    • [2-1. 设置全局邮箱和用户名](#2-1. 设置全局邮箱和用户名)
    • [2-2. 生成全局ssh](#2-2. 生成全局ssh)
  • [3. Github、Gitee配置ssh](#3. Github、Gitee配置ssh)
    • [3-1. Github配置](#3-1. Github配置)
    • [3-2. Gitee配置](#3-2. Gitee配置)

1. 说明

由于我的Github、Gitee、Gitlab用的邮箱不同,向不同的平台提交代码时都需要验证密码,非常麻烦所以配置了一个共用的SSH密钥。

原理:

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

2. 生成ssh

2-1. 设置全局邮箱和用户名

bash 复制代码
# 设置全局邮箱,这里的邮箱仅仅表明你的身份,与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-2. 生成全局ssh

bash 复制代码
# 生产ssh密钥,一直回车即可
ssh-keygen -t rsa
  • 生成ssh之后,会在终端窗口显示两个文件路径:id_rsaid_rsa.pub。
  • id_rsa.pub里面就是我们要的ssh密钥

3. Github、Gitee配置ssh

3-1. Github配置

1)配置

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

2)验证

bash 复制代码
# 在你电脑的任何地方打开git bash窗口,输入如下命令
ssh -T git@github.com

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

3-2. Gitee配置

Gitee配置和验证整体上与Github相同

1)配置

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

2)验证

bash 复制代码
# 在你电脑的任何地方打开git bash窗口,输入如下命令
ssh -T git@gitee.com

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

相关推荐
没脾气的打火叽_5 分钟前
Codex 明明支持 Subagent,为什么却不会主动用?我做了个 Skill 来解决这个问题
github
微光shimmer13 分钟前
doc-chain skill:一站式控制 AI 变更边界的文档依赖网络
github·ai编程
irpywp16 小时前
合盖断网打断后台计算,Modafinil:一款防休眠菜单栏工具,让 Mac 闭眼继续跑 Agent
macos·ios·开源·github
_风满楼16 小时前
TDD 进阶:换个角度看会议室预约
前端·javascript·github
逛逛GitHub21 小时前
GitHub 上狂揽 2.4 万 Star!输入一个用户名,就能查遍 3000+ 网站。
github
DogDaoDao21 小时前
【GitHub】Ruflo:面向 Claude Code 的企业级多智能体编排平台深度解析
人工智能·深度学习·大模型·github·ai编程·claude·ruflo
小王的测试人生21 小时前
sindresorhusp-queue JavaScript 异步并发控制器
github
用户14516927284421 小时前
Chroma:AI应用的开源向量数据基础设施
github
曾庆睿21 小时前
【基于 RHEL 9.3 的 K8s + GitLab 全自动化部署环境搭建第一篇】
kubernetes·自动化·gitlab
曾庆睿21 小时前
【基于 RHEL 9.3 的 K8s + GitLab 全自动化部署环境搭建第二篇】
kubernetes·自动化·gitlab