跳到主要内容
极客日志极客日志面向AI+效率的开发者社区
首页博客GitHub 精选镜像AI 生图工具UI配色美学隐私政策关于联系
搜索内容 / 工具 / 仓库 / 镜像...⌘K搜索
注册
博客列表
Shell / Bash大前端

Git 连接 GitHub 出现权限拒绝错误的解决方案

介绍在 Git Bash 中执行 push/pull/clone 时报错 'Permission denied (publickey)' 的解决方法。主要步骤包括检查本地 SSH 密钥是否存在,若无则生成新密钥(推荐使用 ed25519),将公钥复制到剪贴板,登录 GitHub 设置页面添加 SSH Key,启动 SSH Agent 并加载私钥,最后通过 ssh -T 命令验证连接是否成功。

灭霸发布于 2026/3/27更新于 2026/7/2550 浏览
Git 连接 GitHub 出现权限拒绝错误的解决方案

报错结果如下:

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.

适用场景:在 Git Bash 中执行 git push / git pull / git clone 时提示权限被拒绝。

核心原理:配置 SSH 密钥,让 GitHub 识别你的电脑。

步骤 1:检查本地是否已有 SSH 密钥

在终端中执行以下命令,查看是否已经生成过密钥:

ls -al ~/.ssh
  • 如果有文件:看到 id_rsa 和 id_rsa.pub(或 id_ed25519 等),说明密钥已存在,请跳过步骤 2,直接去步骤 3 复制公钥。
  • 如果没有文件:提示 "No such file or directory",请继续步骤 2 生成新的密钥。

在这里插入图片描述

步骤 2:生成新的 SSH 密钥

如果检查后发现没有密钥,运行以下命令生成(请将邮箱替换为你自己的 GitHub 邮箱):

ssh-keygen -t ed25519 -C "[email protected]"
  • 操作提示
    • 出现 Enter file in which to save the key:直接按 回车 使用默认路径。
    • 出现 Enter passphrase:建议 直接回车留空(为了方便免密操作);如果设置了密码,以后每次操作 Git 都会要求输入这个密码。

在这里插入图片描述

步骤 3:将公钥复制到剪贴板

我们需要把公钥(.pub 文件)的内容发给 GitHub。

复制输出的全部内容(从 ssh-ed25519 开始,一直到你的邮箱地址结束)。

在 Git Bash 中查看公钥内容:

cat ~/.ssh/id_ed25519.pub

(如果是 RSA 密钥,请输入 cat ~/.ssh/id_rsa.pub)

步骤 4:在 GitHub 上添加 SSH Key

  1. 登录 GitHub,点击右上角头像 -> Settings。
  2. 点击左侧菜单的 SSH and GPG keys。
  3. 点击 New SSH key 按钮。
  4. Title 填写一个名字(例如:My Windows PC)。
  5. Key 粘贴刚才复制的公钥内容。
  6. 点击 Add SSH key 保存。

在这里插入图片描述

在这里插入图片描述

步骤 5:启动 SSH Agent 并添加私钥

这一步是让 Git Bash 认识刚才生成的密钥。

  • 如果提示 Identity added,说明成功了。

添加私钥:

ssh-add ~/.ssh/id_ed25519

(如果是 RSA 密钥,请输入 ssh-add ~/.ssh/id_rsa)

启动 Agent(在 Git Bash 中执行):

eval "$(ssh-agent -s)"

最终验证

在 Git Bash 中输入以下命令测试连接:

ssh -T [email protected]
  • 如果看到 Hi username! You've successfully authenticated...,说明 配置成功!现在你可以正常进行代码推送了。

在这里插入图片描述

目录

  1. 步骤 1:检查本地是否已有 SSH 密钥
  2. 步骤 2:生成新的 SSH 密钥
  3. 步骤 3:将公钥复制到剪贴板
  4. 步骤 4:在 GitHub 上添加 SSH Key
  5. 步骤 5:启动 SSH Agent 并添加私钥
  6. 最终验证
  • 免费图片AI生成工具免费生成了解详情
  • Magick API 一键接入全球大模型注册送1000万token查看
  • 免费图片视频在线生成30秒,将你的创意变成现实开始设计
  • X/Twitter免费视频下载器免登陆无限额度免费视频解析下载了解详情
  • 100+免费在线小游戏爽一把
极客日志微信公众号二维码

微信扫一扫,关注极客日志

微信公众号「极客日志V2」,在微信中扫描左侧二维码关注。展示文案:极客日志V2 zeeklog

更多推荐文章

查看全部
  • Java 异常处理:从原理到实战最佳实践
  • 基于深度学习的宠物识别系统
  • Java OCR 快速集成:基于 PaddleOCR 的实战指南
  • VS Code 集成 Git 使用指南:从配置到协作实战
  • Android 中的进程名和线程名
  • Ubuntu Server 22.04 LTS 系统安装教程
  • Ubuntu Server 24.04.3 LTS 安装指南
  • 大模型应用开发入门:GPT-4 与 ChatGPT 实战指南
  • Midjourney 进阶:色调详解(上)
  • 荣耀 MWC 2026 发布 Robot Phone 与人形机器人,探索 AI 硬件生态
  • 2026 年度技术趋势预测:AI 从生成走向执行,八大方向重塑 IT 行业
  • VSCode Copilot 登录失败排查与解决方案
  • 宇树 G1 人形机器人强化学习训练配置与奖励函数解析
  • 前端表单验证策略与最佳实践
  • RTX 4090 本地部署腾讯混元与阿里通义万相视频生成模型
  • 计算机学院校友网信息管理系统:SpringBoot+Vue+MySQL 架构与实现
  • Git-RSCLIP 镜像免配置部署:解决环境冲突问题
  • Android 设备免 Root 安装霞鹜文楷屏幕阅读版字体
  • C++ 手写 List 容器:双向链表原理及实现
  • gflags 与 spdlog 实战:C++ 命令行参数与高性能日志搭配

相关免费在线工具

  • Base64 字符串编码/解码

    将字符串编码和解码为其 Base64 格式表示形式即可。 在线工具,Base64 字符串编码/解码在线工具,online

  • Base64 文件转换器

    将字符串、文件或图像转换为其 Base64 表示形式。 在线工具,Base64 文件转换器在线工具,online

  • Markdown转HTML

    将 Markdown(GFM)转为 HTML 片段,浏览器内 marked 解析;与 HTML转Markdown 互为补充。 在线工具,Markdown转HTML在线工具,online

  • HTML转Markdown

    将 HTML 片段转为 GitHub Flavored Markdown,支持标题、列表、链接、代码块与表格等;浏览器内处理,可链接预填。 在线工具,HTML转Markdown在线工具,online

  • JSON 压缩

    通过删除不必要的空白来缩小和压缩JSON。 在线工具,JSON 压缩在线工具,online

  • JSON美化和格式化

    将JSON字符串修饰为友好的可读格式。 在线工具,JSON美化和格式化在线工具,online