科技 > 操作系统 > Windows

Windows下Gitee与GitHub共用SSH密钥的配置指南

2人参与 2026-08-05 Windows

写在前面

在日常开发中,很多开发者同时使用 gitee(码云)和 github 两个代码托管平台。如果两个平台注册的是同一个邮箱,那么完全可以共用同一套 ssh 密钥,省去重复生成、管理多套密钥的麻烦。

本文将基于 windows 系统,详细讲解如何将已配置好 gitee 的 ssh 密钥,无缝复用到 github,实现 “一把密钥走天下” 的流畅体验。

适用场景与前置条件

适用人群

前置条件

第一步:确认现有 ssh 密钥

打开 powershell(以普通用户身份即可),查看当前已有的 ssh 密钥:

ls ~/.ssh

正常情况下,你至少应该看到以下文件:

如果你之前配置过 gitee,说明这套密钥已经经过验证,可以直接复用。

第二步:将公钥添加到 github

2.1 复制公钥内容

在 powershell 中,使用以下命令将公钥复制到剪贴板:

type ~/.ssh/id_rsa.pub | clip

常见坑:powershell 不支持 linux/cmd 风格的 < 重定向符,所以不要使用 clip < ~/.ssh/id_rsa.pub。如果 clip 命令无效,可直接用记事本打开 id_rsa.pub 手动复制。

2.2 在 github 中添加公钥

  1. 登录 github,点击右上角头像 → settings
  2. 左侧菜单选择 ssh and gpg keys
  3. 点击 new ssh key
  4. title 栏填写一个便于识别的名称(如 my-windows-laptop
  5. key 栏粘贴刚才复制的公钥内容(以 ssh-rsa 开头)
  6. 点击 add ssh key 保存

第三步:配置 ssh 客户端(核心步骤)

这是整个配置的关键环节。通过编辑 ~/.ssh/config 文件,我们可以为不同平台指定认证方式,并为 github 强制使用 443 端口以穿透防火墙。

3.1 创建或编辑config文件

在文件资源管理器地址栏输入 %userprofile%\.ssh 并回车,进入该目录。
在此目录下新建一个名为 config 的文本文件(注意没有扩展名)。

3.2 写入以下配置

用记事本打开 config 文件,添加以下内容:

# gitee 配置(保留原有配置,确保指向正确的私钥)
host gitee.com
    hostname gitee.com
    user git
    port 22
    identityfile ~/.ssh/id_rsa
    preferredauthentications publickey

# github 配置(新增,使用 443 端口绕过防火墙)
host github.com
    hostname ssh.github.com   # github 的 ssh 专用域名
    user git
    port 443                   # 使用 https 端口,避免 22 端口被屏蔽
    identityfile ~/.ssh/id_rsa # 指向与 gitee 相同的私钥!
    preferredauthentications publickey

3.3 配置字段说明

字段含义
host匹配 git 命令中的主机名
hostname实际连接的目标主机
portssh 连接端口(github 推荐 443)
identityfile指定使用的私钥文件路径
preferredauthentications优先使用的认证方式

关键点:github 和 gitee 的 identityfile 指向同一个私钥文件,这就是“共用密钥”的本质。

第四步:验证连通性

在 powershell 中分别测试两个平台:

# 测试 gitee(应该直接成功)
ssh -t git@gitee.com

# 测试 github(首次连接会提示确认指纹)
ssh -t git@github.com

首次连接 github 时的指纹确认

由于你配置了 port 443hostname ssh.github.com,ssh 会认为这是一个新的主机,弹出以下提示:

the authenticity of host '[ssh.github.com]:443 ([20.205.243.160]:443)' can't be established.
ed25519 key fingerprint is sha256:+diy3wvvv6tujjhbpzisf/zlda0zpmsvhdkr4uvcoqu.
are you sure you want to continue connecting (yes/no/[fingerprint])?

直接输入 yes 并回车。这是 github 官方的 ed25519 指纹,安全可信。

成功标志

如果看到以下输出,说明配置成功:

hi <你的github用户名>! you've successfully authenticated, but github does not provide shell access.

对于 gitee,成功信息类似:

hi <你的gitee用户名>! you've successfully authenticated, but gitee.com does not provide shell access.

第五步(可选):https 自动转 ssh

为了方便日常使用,你可以配置 git 全局 url 重写。这样即使从网页复制了 https:// 开头的仓库地址,git 也会自动使用 ssh 协议。

执行以下两条命令:

git config --global url."git@github.com:".insteadof "https://github.com/"
git config --global url."git@gitee.com:".insteadof "https://gitee.com/"

设置后,以下操作会自动转换:

关于“邮箱相同,用户名不同”的说明

平台如何匹配提交记录?

答案是:通过邮箱地址,而不是用户名。

字段作用是否用于身份验证
user.email平台通过它关联账号、统计贡献、显示头像关键字段
user.name仅作为提交记录的显示标签❌ 不参与验证

常见场景示例

推送时:

用户名不同完全不影响功能,请放心。

查看当前配置

git config --global user.name   # 输出:your_display_name
git config --global user.email  # 输出:your_email@example.com

如果邮箱与平台注册邮箱不一致,需修改:

git config --global user.email "your_correct_email@example.com"

常见问题与解决方案

问题现象可能原因解决方案
permission denied (publickey)公钥未添加到平台,或 identityfile 路径错误检查公钥是否完整复制;检查 config 中的路径
connection timed out22 端口被防火墙屏蔽确认 github 配置中已设置 port 443hostname ssh.github.com
powershell 中 clip < file 报错powershell 不支持 < 重定向符改用 `type ~/.ssh/id_rsa.pub
no such identity私钥路径包含反斜杠或中文字符使用正斜杠 /,路径放于英文目录下
每次 push 还要输密码私钥设置了密码短语(passphrase)使用 ssh-agent 缓存密码
首次连接 github 提示指纹确认通过 443 端口首次访问,主机记录未存入 known_hosts输入 yes 确认,此为正常安全机制

最终文件结构一览

配置完成后,你的 ~/.ssh 目录应包含:

~/.ssh/
├── id_rsa          # 私钥(共用,gitee + github)
├── id_rsa.pub      # 公钥(已分别上传至 gitee 和 github)
├── known_hosts     # 服务器指纹(含 gitee.com 和 ssh.github.com:443)
└── config          # ssh 客户端配置(双平台配置)

总结

通过以上步骤,你已完成以下全部配置:

现在,你可以在 windows 上愉快地使用 git 操作 gitee 和 github 的仓库了,无需再为协议、端口和密钥匹配烦恼。

以上就是windows下gitee与github共用ssh密钥的配置指南的详细内容,更多关于gitee与github共用ssh密钥的资料请关注代码网其它相关文章!

(0)

您想发表意见!!点此发布评论

推荐阅读

windows下安装使用nginx,启动关闭nginx失效问题及解决过程

08-04

Windows 使用 NSSM 将 Nginx 注册系统服务部署运维手册(最新推荐)

08-04

Windows 系统下 GitHub SSH 全局配置完全指南(最新推荐)

08-04

Win11 Beta和Experimental通道打印管理工具获WinUI 3更新

08-03

Win11推进智能索引功能搜索:自动识别与索引常用文件夹

08-03

Windows下uv安装与环境配置的超完整教程

08-02

猜你喜欢

版权声明:本文内容由互联网用户贡献,该文观点仅代表作者本人。本站仅提供信息存储服务,不拥有所有权,不承担相关法律责任。 如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 2386932994@qq.com 举报,一经查实将立刻删除。

发表评论