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

Git Clone 报错 Permission denied (publickey) 解决方案

解决 Git Clone 时出现 Permission denied (publickey) 错误的方法。主要步骤包括检查本地 SSH 密钥、生成新的密钥对、将公钥添加到 GitHub 账户设置、启动 SSH agent 并加载私钥,最后通过 ssh -T 命令测试连接是否成功。

KernelLab发布于 2026/3/30更新于 2026/9/1098 浏览

Git Clone 报错 Permission denied (publickey) 解决方案

这个错误提示:

[email protected]: Permission denied (publickey). fatal: Could not read from remote repository.

说明你当前在用 SSH 方式通过 [email protected]:Learning-in-robotics/kinova_learning.git 去 clone,但 GitHub 拒绝了你的 SSH 公钥认证。也就是说,你的本地机器并没有配置好能让 GitHub 接受的 SSH 公钥,或者配置有误。


详细解决步骤

你可以按下面步骤操作:

步骤 1:检查本地是否已有 SSH 密钥
ls -al ~/.ssh

看是否存在 id_rsa + id_rsa.pub 或 id_ed25519 + id_ed25519.pub 等文件。如果有 .pub 公钥文件,说明可能已经生成过。

如果没有或不确定,就先生成一个新的(下面步骤)。

步骤 2:生成新的 SSH 密钥对(如果你还没有)

假设使用 ed25519(现代推荐):

ssh-keygen -t ed25519 -C "[email protected]"

按提示回车使用默认路径 ~/.ssh/id_ed25519,可以设置 passphrase(也可以不设置,留空)。
如果你希望兼容老系统,也可以生成 RSA:

ssh-keygen -t rsa -b 4096 -C "[email protected]"

成功后会有两个文件,例如:

  • ~/.ssh/id_ed25519(私钥,不要泄露)
  • ~/.ssh/id_ed25519.pub(公钥,用于上传给 GitHub)
步骤 3:把公钥添加到 GitHub
  1. 打开 ~/.ssh/id_ed25519.pub(或你生成的 .pub 文件),复制里面的全部内容(以 ssh-ed25519 AAAA... 开头)
  2. 在 GitHub 网站,登录 → 右上角头像 → Settings → SSH and GPG keys → New SSH key → 填写一个 Title(如 'my laptop') → 在 Key 栏粘贴你的公钥 → 点击 'Add SSH key'

确保你添加的是 ssh auth 公钥(不是用于签名的密钥),并且没有头尾多余空格或换行。

步骤 4:启动 SSH agent 并加载私钥
# 启动 ssh-agent(大多数系统默认就有)
eval "$(ssh-agent -s)"

# 然后加载你的私钥(假设用 ed25519 名称)
ssh-add ~/.ssh/id_ed25519

如果使用 RSA 或其他名称,请改为相应路径。

你可以用命令 ssh-add -l 来查看已加载的密钥列表。

步骤 5:测试 SSH 连接是否成功

在终端运行:

ssh -T [email protected]

期望输出类似:

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

如果这个命令成功,说明 SSH 设置没问题了。

目录

  1. Git Clone 报错 Permission denied (publickey) 解决方案
  2. 详细解决步骤
  3. 步骤 1:检查本地是否已有 SSH 密钥
  4. 步骤 2:生成新的 SSH 密钥对(如果你还没有)
  5. 步骤 3:把公钥添加到 GitHub
  6. 步骤 4:启动 SSH agent 并加载私钥
  7. 启动 ssh-agent(大多数系统默认就有)
  8. 然后加载你的私钥(假设用 ed25519 名称)
  9. 步骤 5:测试 SSH 连接是否成功

更多推荐文章

查看全部
  • IDEA 中 AI 编程插件对比:Copilot、灵码与 TRAE 实测
  • Vue 3 编程的 10 个实用技巧
  • AI 调参技巧:贝叶斯优化与 Optuna 实战
  • 主流开源物联网平台整理汇总
  • Jenkins 自动化部署与流水线实战指南
  • JavaScript 中 array.map() 的实战用法:数据转换、异步处理与 DOM 操作
  • FPGA 实现高效 FFT/IFFT 变换:IP 核优化与 Verilog 测试验证
  • 本地 AI 服务远程管理难题与加密隧道解决方案
  • H.265 网页播放:WebAssembly + FFmpeg 实现浏览器端硬解软解兼容方案
  • Python 基础语法入门:常量、变量与运算符
  • Python 网页解析库 BeautifulSoup4 使用指南
  • LangChain 架构演进与功能扩展:流式事件处理、事件过滤及回调策略
  • Git Bash 安装与基础使用指南
  • 混合知识库实战:本地 Docker 部署 Neo4j 与 Milvus
  • C++ 异常处理机制与类型转换详解
  • 基于 WebRTC+AI 的智能远程控制解决方案
  • Spring Cloud Gateway 核心机制与实战总结
  • DeepSeek AI 工具功能与编程辅助能力介绍
  • 利用 DeepSeek 指令与工具降低论文 AIGC 检测率实战指南
  • Python 从零实现多元线性回归模型

相关免费在线工具

  • 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