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

VS Code关联GitHub提交代码遇权限错误,SSH密钥配置无效求助

解决Git@GitHub.com: Permission denied (publickey) 错误的实操步骤

以下是针对该问题的具体排查和解决步骤,均为实际操作中验证有效的方案:

  • 直接测试SSH连接状态
    在终端运行:

    ssh -T git@github.com
    

    该命令会返回SSH连接的具体问题,比提交代码时的报错更精准。

  • 确认本地SSH密钥的存在与权限

    1. 查看本地.ssh目录下的密钥文件:
      ls -la ~/.ssh
      
      需要看到类似id_rsa/id_ed25519(私钥)和id_rsa.pub/id_ed25519.pub(公钥)的文件对。
    2. 修正密钥文件的权限(权限错误是高频坑点):
      chmod 700 ~/.ssh
      chmod 600 ~/.ssh/id_ed25519  # 替换为你的私钥文件名
      chmod 644 ~/.ssh/id_ed25519.pub
      
  • 核对GitHub上的公钥是否完全匹配

    1. 复制本地公钥的完整内容:
      cat ~/.ssh/id_ed25519.pub
      
      确保复制整一行内容,从ssh-ed25519(或ssh-rsa)开头到最后的备注/邮箱,不要遗漏或多添字符。
    2. 登录GitHub,进入「Settings」→「SSH and GPG keys」,检查已添加的公钥是否和你复制的内容完全一致,无拼写错误或截断。
  • 重启SSH代理并添加私钥
    代理未加载密钥是常见根源:

    1. 启动SSH代理:
      eval "$(ssh-agent -s)"
      
    2. 添加私钥到代理:
      ssh-add ~/.ssh/id_ed25519  # 替换为你的私钥文件名
      
      若之前添加过无效,可先清空代理:ssh-add -D,再重新添加。
  • 确认Git远程仓库地址正确
    检查当前仓库的远程地址是否为SSH格式:

    git remote -v
    

    若显示HTTPS地址(https://github.com/xxx/xxx.git),而你想用SSH连接,执行以下命令修改:

    git remote set-url origin git@github.com:你的GitHub用户名/仓库名.git
    

完成以上步骤后,再次运行ssh -T git@github.com,若看到Hi [你的用户名]! You've successfully authenticated, but GitHub does not provide shell access.的提示,说明SSH连接已正常,此时再尝试提交代码即可。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.02 14:13:29