You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

EC2实例克隆GitHub仓库遇Permission denied(publickey)问题求助

问题原因及解决方法

核心原因分析

你遇到的情况是SSH认证成功但git克隆失败,大概率是git未正确使用认证通过的密钥,或者账号无仓库权限,具体分以下几种情况:

1. SSH密钥未被git关联使用

虽然ssh -Tv git@github.com能成功,但git可能没有自动使用你生成的id_ed25519密钥,尤其是当ssh-agent未加载该密钥时:

  • 先启动ssh-agent:eval "$(ssh-agent -s)"
  • 将密钥加入agent:ssh-add ~/.ssh/id_ed25519
  • 再次尝试克隆命令

2. 当前GitHub账号无仓库权限

SSH认证成功只代表账号有效,但目标仓库如果是私有,你需要确认:

  • 当前SSH对应的GitHub账号是仓库所有者,或者已被添加为协作者
  • 登录GitHub网页,进入仓库的「设置」→「协作人员和团队」,检查权限配置

3. 多密钥环境下git选错密钥

如果EC2上存在多个SSH密钥,git可能优先使用了其他未授权的密钥,可通过配置指定:
在~/.ssh/config中添加以下内容:

Host github.com
  IdentityFile ~/.ssh/id_ed25519
  User git

保存后重新执行克隆命令

4. 密钥文件权限不符合要求

SSH对密钥文件权限要求严格,过宽的权限会被拒绝:

  • 设置目录权限:chmod 700 ~/.ssh
  • 设置私钥权限:chmod 600 ~/.ssh/id_ed25519
  • 设置公钥权限:chmod 644 ~/.ssh/id_ed25519.pub

内容的提问来源于stack exchange,提问作者oderfla

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.07 18:31:45