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

在 Windows 系统中解决 Git 推送时出现的 Permission denied (publickey) 错误,请按照以下详细步骤操作:

完整解决方案步骤:

1. 检查并生成 SSH 密钥

# 打开 Git Bash
ssh-keygen -t rsa -b 4096 -C "your_email@example.com"
  • 全程按回车(使用默认路径,不设密码)

  • 密钥将生成在:C:\Users\<用户名>\.ssh\ 目录下

2. 添加密钥到 SSH Agent
# 启动 ssh-agent
eval $(ssh-agent -s)# 添加私钥
ssh-add ~/.ssh/id_rsa
3. 复制公钥到剪贴板
# 方法1:使用 clip 命令
cat ~/.ssh/id_rsa.pub | clip# 方法2:手动打开文件
explorer .
# 然后打开 .ssh 文件夹,用记事本打开 id_rsa.pub 文件
4. 在 Gitee 添加公钥
  1. 登录 gitee.com

  2. 右上角头像 → 设置 → SSH 公钥

  3. 标题:Windows PC(可自定义)

  4. 粘贴公钥内容(以 ssh-rsa AAA... 开头)

  5. 点击 确定

5. 验证连接
ssh -T git@gitee.com

✅ 成功提示:Hello <你的用户名>! You've successfully authenticated...

6. 检查并修正远程仓库地址
git remote -v

如果显示 HTTPS 地址(以 https:// 开头),需改为 SSH 地址:

git remote set-url origin git@gitee.com:<用户名>/<仓库名>.git

注意:地址格式必须是 git@gitee.com:用户名/仓库名.git

7. 重新尝试推送
git push -u origin master

常见问题排查:

情况1:密钥未正确加载
# 检查已加载密钥
ssh-add -l# 若无显示,手动添加
ssh-add ~/.ssh/id_rsa
情况2:多密钥冲突

创建 ~/.ssh/config 文件(无后缀名):

Host gitee.comHostName gitee.comIdentityFile ~/.ssh/id_rsaUser git
情况3:Windows 权限问题
  1. 右键点击 .ssh 文件夹 → 属性 → 安全

  2. 确保你的用户有 完全控制 权限

  3. 同样检查 id_rsa 和 id_rsa.pub 文件权限

情况4:防火墙/杀毒软件拦截
  • 临时禁用 Windows Defender 防火墙

  • 将 Git Bash 加入杀毒软件白名单

备选方案:使用 HTTPS 推送

如果 SSH 仍不可用:

# 切换为 HTTPS 地址
git remote set-url origin https://gitee.com/<用户名>/<仓库名>.git# 推送时输入 Gitee 账号密码
git push -u origin master

注意:从 2021 年起,Git 要求使用个人访问令牌代替密码

成功推送后的输出示例:

Enumerating objects: 5, done.
Counting objects: 100% (5/5), done.
Writing objects: 100% (3/3), 285 bytes | 285.00 KiB/s, done.
Total 3 (delta 0), reused 0 (delta 0)
To gitee.com:yourname/repo.gita1b2c3d..f4e5d6c  master -> master
Branch 'master' set up to track remote branch 'master' from 'origin'.

如果仍然遇到问题,请提供以下信息以便进一步排查:

  1. ssh -T git@gitee.com -v 的完整输出

  2. git remote -v 的输出

  3. 你的公钥文件前10个字符(用于验证是否正确添加)

http://www.dtcms.com/a/331346.html

相关文章:

  • LE AUDIO---Common Audio Service
  • C#WPF实战出真汁02--登录界面设计
  • STM32学习笔记11-通信协议-串口基本发送与接收
  • 从轨道根数计算惯性系到轨道系旋转矩阵
  • 2020/12 JLPT听力原文 问题二 1番
  • [激光原理与应用-268]:理论 - 几何光学 - 人眼结构与颜色感知
  • Nacos 配置热更新:Spring Boot Bean 自动获取最新配置
  • 【21-倾斜数据集的误差指标】
  • 金融风控实战:从数据到模型的信用评分系统构建全解析
  • 使用马尔可夫链如何解码、预测股市模式
  • 西门子PLC通过稳联技术EtherCAT转Profinet网关连接baumuller伺服器的配置案例
  • ThreadPoolExecutor 最佳实践
  • 8月AI面试工具测评:破解规模化招聘难题
  • 哈希表特性与unordered_map/unordered_set实现分析
  • 风电功率预测实战:从数据清洗到时空建模​​
  • 从单机到分布式:用飞算JavaAI构建可扩展的TCP多人聊天系统
  • 大规模分布式光伏并网后对电力系统的影响
  • 用SQL实现对DuckDB rusty_sheet插件批量测试
  • 前端-vue全局路由守卫的详情
  • 地测管理部绩效考核关键指标与地质数据分析
  • 如果未来出现了意识移植技术,如何确保移植后的意识是原本的意识而不是复制了一份
  • C++-setmap详解
  • 无人机图传模块——智能飞行的关键技术
  • 解锁AI潜能:五步写出让大模型神级指令
  • Cloudflare Tunnels穿透ssh
  • 51单片机-驱动LED模块教程
  • 【C#】Region、Exclude的用法
  • 无需公钥的无损加密解密
  • 深入详解C语言数组:承上启下——从C语言数组基础到数据结构衔接
  • 码上爬第八题【协程+ob混淆】