前言概览

在 Windows 系统中,Git 是最常用的版本控制工具之一,而 SSH(Secure Shell)密钥则提供了一种安全、高效、无密码交互的远程仓库访问方式。本教程将从零开始,带你完成以下关键步骤:

  1. 安装 Git
    下载并安装适用于 Windows 的 Git,确保命令行环境可用;
  2. 配置 Git 用户信息
    设定全局 user.nameuser.email,确保提交记录准确、有迹可循;
  3. 生成 SSH 密钥对
    在本地使用命令生成一对 SSH 密钥(包含私钥 id_rsa 与公钥 id_rsa.pub),用于身份验证;
  4. 注册公钥至远程平台
    将生成的公钥复制并添加到 GitHub/Gitee 等平台的账户设置中,使远程识别并允许访问;
  5. 测试 SSH 连接
    通过 ssh -T git@github.com 等命令,验证连接是否成功,而无需每次输入密码;
  6. 深度理解 SSH 原理
    • 🔐 “公钥”相当于挂在服务器上的门锁
    • 🔑 “私钥”是你随身携带的钥匙,只有拥有对应私钥的人才能通过验证;

1. 下载安装git

1.1 下载git

  1. 官网下载(不推荐,下载很慢):Git - 下载软件包
  2. 华为镜像网站下载:Index of git-for-windows-local

可以选择下载安装包 v2.49.0.windows.1/ Git-2.49.0-64-bit.exe

image-20250709105539764

image-20250709105604049

1.2 点击安装

  1. 双击git.exe文件:

    image-20250709110538895

  2. 基本上选择默认选项,点击next:

    参考链接:Git下载及安装保姆级教程(内附快速下载方法)-CSDN博客

  3. 下面这个安装时的配置选项需要更改一下:

image-20250709110035406

  1. 安装选项配置好后,点击安装:

image-20250709110204333

1.3 检查Git是否安装成功

打开控制面板(win+R 输入cmd),查看Git版本信息

image-20250709110452705

2. git使用配置

git安装好去GitHub或者gitee上注册一个账号,注册好后,点击桌面上的Git Bash快捷图标,进行环境配置。

  1. 签名的作用是区分不同操作者身份,用户的签名信息在每一个版本的提交信息中能够看到,以此确认本次提交是谁做的。
  2. Git 首次安装必须设置一下用户签名,否则无法提交代码
  3. 这里设置用户签名和将来登录 GitHub(或其他代码托管中心)的账号没有任何关系

2.1 配置用户名和邮箱

# 配置用户名和邮箱
git config --global user.name john
git config --global user.email 245******@qq.com   # 自己的邮箱

# 查看配置是否成功
git config user.name
git config user.email
  1. 任意位置(桌面上就行)右键点击 git bash 跳出界面后输入

    git config --global user.name john
    git config --global user.email 245******@qq.com   # 自己的邮箱
    

    image-20250709111317026

    image-20250709111531596

  2. 查看是否配置成功

    git config user.name
    git config user.email
    

image-20250709111616148

2.2 生成ssh密钥并配置

  1. 继续刚才的操作,在命令框中输入以下命令生成ssh密钥:

    ssh-keygen -t rsa -C 344*****@qq.com  # 自己的邮箱
    
  2. 后续的命令行需要你输入,直接全部回车,直到结束:

    image-20250709112518436

  3. 生成的密钥在c盘的用户文件夹中:

    image-20250709112649060

image-20250709112720483

2.3 发生错误 bash: $‘\302\226’: command not found

参考链接:windows生成GIT SSH发生错误 bash: $‘\302\226’: command not found_windows下ssh-gen command not found-CSDN博客

很低级的错误,但是找了很久都没找到原因

其实就是 在命令的 前面多加个空格,去掉命令前面的空格就行了

3. 将公钥(id_rsa.pub)添加到GitHub/gitee管理平台

3.1 在github的设置页面添加

image-20250709113226522

点击id_rsa.pub文件,将内容复制到下面:

image-20250709113421451

点击添加即可。

gitee操作同理。

3.2 测试ssh是否配置成功

在原来的git bash中输入,结果如下即成功:

ssh -T git@github.com
ssh -T git@gitee.com

image-20250709113825113

3.3 ssh密钥简单原理

🪖 公钥 = “挂在门上的锁”,私钥 = “你自己的钥匙”
  • 当你需要进入一个房间(Git 代码仓库)时,你会给仓库管理员(远程服务器)一把锁(公钥 .pub)。
  • 只有你拥有真正的钥匙(私钥 id_rsa),别人看得到那把锁,但拿不到相配的钥匙,所以没人能进来。

“把公钥放在服务器上,就像挂了一个独一无二的锁;你用私钥去开锁,服务器一看钥匙匹配,就让你进来。”


💬 配置 SSH 的大致流程(象形版)
  1. 生成钥匙
    • 你先造一套锁与钥匙:执行 ssh-keygen 就像在厂里定制了“门锁(公钥)”和“钥匙(私钥)”一对 。
  2. 安装挂锁
    • 把“锁”文件(.pub.pub 后缀的公钥)发给仓库管理员(如 GitHub/GitLab),他们挂在仓库的大门上(放到 ~/.ssh/authorized_keys
  3. 开锁验证
    • 当你 git pushgit clone 时:
      • 服务端先给你一段随机文字给锁住,
      • 你用私钥“开锁”(解密)并把结果返回给服务器。
      • 服务器用你的公钥“验锁”结果是否一致——一致就让你进

🧠 为什么安全?
  • 私钥永远不离开你电脑,如果它“落入他人之手”,就相当于钥匙被复制,必须立即撤销旧锁,重新挂锁配钥匙
  • 公钥是可以公开的,就像挂在门上的“开放锁”,让系统能验证身份,但没人能破解。

📦 SSH + Git 的好处
  • 免密码登录:每次 push/pull 不用输密码,SSH 自动开锁。
  • 身份验证更强:别人即便知道你的用户名,也无法伪造你的私钥。
  • 安全灵活管理:多个公钥可挂在不同服务器,撤销某个用户访问只需删除相应公钥。

🧩 小结
概念 比喻说明 实际作用
公钥 (lock) 挂在远程的“门锁” 用于验证请求是否来自你
私钥 (key) 你随身的唯一钥匙 解锁“挑战”,证明你是锁的拥有者
ssh-keygen 钳工打造钥匙和锁的套装 生成 .pub(锁)和 .id_rsa(钥匙)
authorized_keys 门扇上挂的所有“锁”列表 允许哪些“钥匙”可以打开这个门

总结

主要流程

在本篇文章中,我们介绍了如何在 Windows 系统中安装 Git 并完成 SSH 密钥的配置,同时深入解析了其背后的安全机制。以下是关键要点的回顾:

  • 使用 ssh-keygen 生成公钥(*.pub)和私钥(不带后缀);
  • 将公钥添加到 GitHub/Gitee 平台,使远程仓库识别你的身份;
  • 验证 SSH 连接,确认 ssh -T git@github.com 等命令顺利无密码通过;
  • 原理解析:
    • 公钥相当于“挂在服务器门上的锁”,私钥则是“你独一无二的钥匙”;
    • 登录过程为“服务端出锁” → “客户端用钥匙开锁” → “服务端确认锁和钥匙匹配”,安全且省时;
  • 相比 HTTPS 使用账号密码,SSH 密钥方式支持免密码登录、安全性更高、部署更灵活,可应对多主机、多仓库、多账号的场景。

参考链接

Git下载及安装保姆级教程(内附快速下载方法)-CSDN博客

超详细的Git下载安装、环境变量配置教程_安装好git之后如何配置-CSDN博客

windows生成GIT SSH发生错误 bash: $‘\302\226’: command not found_windows下ssh-gen command not found-CSDN博客

Logo

腾讯云面向开发者汇聚海量精品云计算使用和开发经验,营造开放的云计算技术生态圈。

更多推荐