当前位置: 首页 > news >正文

GitHub SSH Key 配置详细教程(适合初学者,Windows版)-学习记录4

GitHub SSH Key 配置详细教程(适合初学者,Windows版)

本教程适用于在 Windows 系统下,将本地 Git 仓库通过 SSH 方式推送到 GitHub,适合没有配置过 SSH key 的初学者。


1. 检查是否已有 SSH key

打开 Git BashPowerShell,输入:

ls ~/.ssh

如果看到有 id_rsaid_rsa.pub(或 id_ed25519id_ed25519.pub)文件,说明你已经有 SSH key,可以跳到第3步。


2. 生成新的 SSH key

Git BashPowerShell 中输入:

ssh-keygen -t ed25519 -C "你的邮箱@example.com"
  • 如果你的 Git 版本较老不支持 ed25519,可以用 -t rsa
  • 按提示一路回车即可(不需要设置密码也可以)。

生成后会在 C:\Users\你的用户名\.ssh\ 目录下生成 id_ed25519id_ed25519.pub 两个文件。


3. 添加 SSH key 到 GitHub

  1. 用记事本打开 C:\Users\你的用户名\.ssh\id_ed25519.pub(或 id_rsa.pub),复制里面的全部内容。
  2. 登录你的 GitHub 账号,进入 SSH Keys管理页面。
  3. 点击 New SSH keyAdd SSH key
  4. Title 随便填,Key 内容粘贴刚才复制的内容,点击 Add SSH key

4. 修改 Git 远程地址为 SSH

在你的项目目录下,执行:

git remote set-url origin git@github.com:你的用户名/你的仓库名.git

例如:

git remote set-url origin git@github.com:yangyuqing15715165798/MQTT_server_publisher_subscriber.git

用下面命令确认:

git remote -v

显示类似如下内容即为成功:

origin  git@github.com:yangyuqing15715165798/MQTT_server_publisher_subscriber.git (fetch)
origin  git@github.com:yangyuqing15715165798/MQTT_server_publisher_subscriber.git (push)

5. 测试 SSH 连接

执行:

ssh -T git@github.com

第一次会提示"Are you sure you want to continue connecting (yes/no/[fingerprint])?",输入 yes 回车。

如果看到:

Hi 你的用户名! You've successfully authenticated, but GitHub does not provide shell access.

说明配置成功。


6. 推送代码

现在可以正常推送了:

git push origin main

常见问题

  • 如果推送时还是报错,重启一下 Git Bash 或电脑再试。
  • 如果提示权限问题,检查 SSH key 是否添加到 GitHub,且是当前用户的 key。
  • 如果你有多个 GitHub 账号,建议为不同账号生成不同的 key,并配置 ~/.ssh/config 文件。

如有任何一步遇到问题,把报错信息发给开发同伴或AI助手寻求帮助!

相关文章:

  • 设计模式1 ——单例模式
  • 2025年保姆级教程:Powershell命令补全、主题美化、文件夹美化及Git扩展
  • 大模型知识
  • 02_redis分布式锁原理
  • qt浏览文件支持惯性
  • 前端(小程序)学习笔记(CLASS 1):组件
  • AI与产品架构设计(7):实时数据驱动下的AI架构设计:从流数据到智能决策
  • JC/T 2848-2024 玻璃纤维增强石膏(GRG)装饰制品检测
  • 打开小程序提示请求失败(小程序页面空白)
  • JS进阶学习04
  • 26、AI 预测性维护 (燃气轮机轴承) - /安全与维护组件/ai-predictive-maintenance-turbine
  • python查询elasticsearch 获取指定字段的值的list
  • 安卓蓝牙frameworks/base/core/java/android/bluetooth这个路径下文件的作用
  • java day14
  • [Java恶补day2] 49. 字母异位词分组
  • 深入理解 Pre-LayerNorm :让 Transformer 训练更稳
  • Java虚拟机栈
  • leetcode hot100刷题日记——7.最大子数组和
  • 计算机视觉与深度学习 | Python实现CEEMDAN-ISOS-VMD-GRU-ARIMA时间序列预测(完整源码和数据)
  • 目标检测基础知识