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

使用PAT进行GitHub认证遇403权限拒绝,求排查解决方法

解决GitHub HTTPS认证403错误及SSH密钥无效问题

先排查HTTPS认证的问题(当前配置)

  • 确认PAT的权限是否正确
    登录GitHub,进入Settings -> Developer settings -> Personal access tokens -> Tokens (classic),找到你使用的PAT,确保勾选了repo权限(这是访问私有仓库的核心权限),同时检查PAT是否未过期、未被撤销。

  • 检查Mac钥匙串中的GitHub凭证
    打开Keychain Access,搜索github.com,找到对应的互联网密码条目,确认存储的密码是最新的PAT。如果存在旧的凭证(比如之前的账户密码),直接删除该条目,重新执行git操作,手动输入用户名(GitHub账号名)和密码(PAT),让钥匙串重新存储正确凭证。

  • 验证远程仓库URL的正确性
    执行git remote -v查看当前origin的URL,确认格式为https://<你的PAT>@github.com/username/bd0823.git。如果URL未携带PAT或PAT输入有误,重新设置:

    git remote set-url origin https://<你的PAT>@github.com/username/bd0823.git
    
  • 清除Git的凭证缓存
    若Git缓存了旧凭证导致冲突,执行以下命令禁用全局凭证助手,再尝试拉取/推送:

    git config --global --unset credential.helper
    

    执行git pull时会弹出输入框,输入用户名和PAT,验证成功后可重新启用凭证助手:

    git config --global credential.helper osxkeychain
    

关于SSH认证的替代方案(解决之前密钥无效的问题)

如果HTTPS方案无法解决,SSH是更稳定的选择,按以下步骤排查:

  • 重新生成合规的SSH密钥
    推荐使用更安全的Ed25519算法生成,执行:

    ssh-keygen -t ed25519 -C "你的GitHub绑定邮箱"
    

    一路回车采用默认设置即可,无需设置密码(除非需要额外安全防护)。

  • 确保SSH密钥的文件权限正确
    密钥文件权限必须为600(仅本人可读写),公钥权限为644,执行:

    chmod 600 ~/.ssh/id_ed25519
    chmod 644 ~/.ssh/id_ed25519.pub
    
  • 将公钥添加到GitHub账户
    复制公钥内容:

    cat ~/.ssh/id_ed25519.pub
    

    登录GitHub,进入Settings -> SSH and GPG keys -> New SSH key,粘贴复制的内容,填写标题后点击Add SSH key。

  • 验证SSH连接有效性
    执行以下命令测试:

    ssh -T git@github.com
    

    若输出Hi <你的用户名>! You've successfully authenticated, but GitHub does not provide shell access.则认证成功。若报错,检查ssh-agent是否加载了密钥:

    eval "$(ssh-agent -s)"
    ssh-add ~/.ssh/id_ed25519
    

    之后重新测试连接。

  • 切换远程仓库到SSH URL
    认证成功后,更新origin的URL:

    git remote set-url origin git@github.com:username/bd0823.git
    

    之后即可正常执行推送/拉取操作。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.12 18:46:00