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

【GitHub】【Windows】Permission denied (publickey) 错误

【GitHub】【Windows】Permission denied (publickey) 错误


问题描述极其原因分析

遇到的错误:

Cloning into 'XXXXXX'...
git@github.com: Permission denied (publickey).
fatal: Could not read from remote repository.Please make sure you have the correct access rights
and the repository exists.

错误的本质是: 你试图通过 SSH 协议访问 GitHub,GitHub 使用 SSH 公钥加密机制来验证用户身份,但 GitHub 无法验证你的身份。

具体错误原因分类(主要):

  1. 没有配置 SSH 密钥对,本地计算机上没有生成 SSH 公钥和私钥。
  2. GitHub 账户未添加你的公钥:需要将本地生成的公钥,通常是 .ssh/id_rsa.pub 或 .ssh/id_ed25519.pub 的内容复制并添加到 GitHub 的 SSH Keys 设置中。

解决方案

  1. 下载安装 Git Bash: 在 Windows 上处理 Git 和 SSH 问题,强烈建议使用 Git Bash,Git Bash 提供了与 Linux/Mac 终端类似的环境,包含完整的 SSH 工具链。【参考安装】

  2. 检查现有 SSH 密钥: 在 Git Bash 终端中,输入以下命令来检查是否已经生成过 SSH 密钥。

    ls -al ~/.ssh
    

    查看输出中是否包含以下文件或类似名称:id_rsa (私钥);id_rsa.pub (公钥);id_ed25519 和 id_ed25519.pub (更新的加密算法)。

  3. 生成新的 SSH 密钥对: 如果没有密钥,或者想新建一个,执行以下命令。

    ssh-keygen -t ed25519 -C "your_email@example.com"
    
     >"your_email@example.com" 只是个标签,方便识别,将 其替换为自己注册 GitHub 时使用的邮箱。
    

    系统会提示你 “Enter file in which to save the key”(输入保存密钥的文件)。直接按回车使用默认路径 (C:\Users[你的用户名].ssh\id_ed25519)。
    接着会提示 “Enter passphrase (empty for no passphrase)”(输入密码短语,可为空)。你可以直接按回车设置为空密码,或者为了安全性设置一个密码。
    成功后,会看到密钥的随机艺术图案:

  4. 复制公钥内容: 在 Git Bash 中,使用 cat 命令显示并手动复制公钥文件的内容。

    cat ~/.ssh/id_ed25519.pub
    

    复制完整的输出内容,它应该以 ssh-ed25519 开头,以你的邮箱结尾。不要添加任何换行或空格。

    也可以用记事本直接打开公钥文件 (C:\Users[你的用户名].ssh\id_ed25519.pub) 来复制内容。

  5. 在 GitHub 中添加密钥:
    登录 GitHub,点击右上角你的头像,选择 Settings;

    在左侧边栏中,点击 SSH and GPG keys,点击绿色的 New SSH key 按钮;

    在 “Title” 字段中,为这个密钥起一个描述性的名称(例如 “Windows Desktop”),在 “Key” 字段中,粘贴你刚才复制的公钥内容,点击 Add SSH key。

    完成验证就行。

  6. 测试 SSH 连接: 回到 Git Bash,测试是否能够通过 SSH 成功认证到 GitHub。

    ssh -T git@github.com
    

    如果一切配置正确,你会看到如下成功信息:


文章转载自:

http://WhxWgO3U.hhpkb.cn
http://lhvtkp1n.hhpkb.cn
http://yxYyZanm.hhpkb.cn
http://7X5DKhNr.hhpkb.cn
http://78Sl3KcL.hhpkb.cn
http://W5TETZYQ.hhpkb.cn
http://K8jxAh0w.hhpkb.cn
http://SAnoTx3h.hhpkb.cn
http://FoXfuDBz.hhpkb.cn
http://dx6X9YZX.hhpkb.cn
http://606fSslO.hhpkb.cn
http://5HsPQZSr.hhpkb.cn
http://vbnZaklu.hhpkb.cn
http://u9DY4fbg.hhpkb.cn
http://fIBMp1xU.hhpkb.cn
http://Qn7184gQ.hhpkb.cn
http://UboplhG3.hhpkb.cn
http://VpBo5g7l.hhpkb.cn
http://guOjdNAt.hhpkb.cn
http://lbzoSwXx.hhpkb.cn
http://sqaso56I.hhpkb.cn
http://7F7ixW3t.hhpkb.cn
http://KGgVJFcq.hhpkb.cn
http://e92PkUvW.hhpkb.cn
http://3IpuLN31.hhpkb.cn
http://eT4LSIY0.hhpkb.cn
http://tfGg0MkR.hhpkb.cn
http://mgtfmwKv.hhpkb.cn
http://aGX2xh8S.hhpkb.cn
http://Mp0NfUU7.hhpkb.cn
http://www.dtcms.com/a/381696.html

相关文章:

  • 解决Rocky Linux 9.6下Beyond Compare私钥连接失败问题
  • ubuntu git push每次都要输入密码怎么解决只输入一次密码
  • OpenCV 教程——从像素到智能:图像预处理关键技巧与零售货架缺货检测实战
  • 面试鸭Java八股之Kafka
  • 【学习K230-例程23】GT6700-音频FFT柱状图
  • 【Chrome】chrome 调试工具的network选项卡,如何同时过滤出doc js css
  • python--MediaPipe-opencv眨眼检测
  • 2.2.蓝桥杯-数位递增的数
  • leetcode 3541. 找到频率最高的元音和辅音 简单
  • Spring Boot 与微服务网关集成问题:Zuul、Spring Cloud Gateway 与鉴权策略
  • algorithm | Big O notation
  • 开发指南:使用 MQTTNet 库构建 .Net 物联网 MQTT 应用程序
  • 【代码随想录day 25】 力扣 47.全排列 II
  • 驱动开发系列73 - clEnqueueNDRangeKernel实现
  • Unity 性能优化 之 静态资源优化 (音频 | 模型 | 纹理 | 动画)
  • 服装贸易管理系统推荐及软件选型指南
  • 音视频的下一站:协议编排、低时延工程与国标移动化接入的系统实践
  • Python核心技术开发指南(064)——with语句
  • 打造高效AI助手的秘密武器 - Parlant
  • Stanford CS336 | Assignment 1 - Transformer Language Model Architecture
  • 计算机视觉(opencv)实战十八——图像透视转换
  • 【二开】CRMEB开源版按钮权限控制
  • 联邦学习过程中,了解清楚影响准确率的因素有哪些也很重要
  • Ubuntu 文件复制大师:精通cp命令完整指南
  • 给定单词倒排
  • Golang | http/server Gin框架简述
  • Android-EDLA XTS常用网站总结
  • Android webview更新记录-aosp
  • 大数据电商流量分析项目实战:Flume 数据采集及ETL入仓(五)
  • 用 PyTorch 打造 AIOps 小体系:日志异常、指标预测与训练失败根因分析