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

远程服务器无法访问GitHub出现公钥认证错误该如何解决?

GitHub CLI认证成功仅代表gh工具本身获得了访问权限,系统原生Git的SSH认证是独立流程,出现该报错可按以下步骤排查解决:

问题排查与解决步骤

  • 第一步:验证SSH链路连通性
    执行以下命令测试和GitHub的SSH认证是否正常:
    ssh -T git@github.com
    
    如果返回Hi [你的GitHub用户名]! You've successfully authenticated, but GitHub does not provide shell access.说明SSH链路本身正常,否则按下面的步骤逐一排查。
  • 第二步:修正SSH密钥文件权限
    Linux系统下SSH对密钥文件权限有严格要求,权限过高会触发安全机制直接拒绝读取:
    chmod 700 ~/.ssh
    chmod 600 ~/.ssh/id_ed25519
    chmod 644 ~/.ssh/id_ed25519.pub
    
  • 第三步:加载私钥到SSH代理
    如果当前会话没有加载对应的私钥,SSH检索不到认证凭证就会报错:
    # 启动ssh-agent(如果未运行)
    eval "$(ssh-agent -s)"
    # 加载对应私钥到代理
    ssh-add ~/.ssh/id_ed25519
    
  • 第四步:配置SSH规则避免密钥匹配错误
    编辑~/.ssh/config文件,添加GitHub专属配置,明确指定认证用的密钥,避免SSH默认检索其他密钥导致匹配失败:
    Host github.com
        HostName github.com
        User git
        IdentityFile ~/.ssh/id_ed25519
        IdentitiesOnly yes
    
  • 第五步:核对克隆地址格式
    确认你使用的是SSH格式的克隆地址,而非HTTPS地址:
    正确格式示例:git@github.com:你的用户名/仓库名.git

执行完以上步骤后重新执行克隆操作即可解决问题。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.05 03:09:03