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

Github细粒度个人访问令牌配置及推送Permission denied问题求助

解决Git Push到GitHub时Permission denied (publickey)的问题

核心问题

你当前配置的远程仓库地址是SSH格式(git@github.com开头),但个人访问令牌是给HTTPS格式的远程地址用的,所以更换令牌无法解决SSH认证失败的问题,得对应调整认证方式。

先纠正你之前命令里的错误

执行上传步骤时,你漏了关键参数:

  • git add 后必须加 . 才能暂存当前文件夹下的所有文件:git add .
  • git commit -m 后必须填写提交信息:git commit -m "initial commit"(可替换成你自己的描述)

方案一:修复SSH认证(推荐,后续无需每次输密码)

  1. 检查本地是否已有SSH密钥对
    打开终端执行:

    ls -la ~/.ssh
    

    如果能看到类似 id_ed25519(私钥)和 id_ed25519.pub(公钥)的文件,跳过下一步;如果没有,生成新密钥。

  2. 生成新的SSH密钥
    执行命令(替换成你的GitHub注册邮箱):

    ssh-keygen -t ed25519 -C "your-github-email@example.com"
    

    全程按回车默认即可,不需要设置密码(如果要设也可以)。

  3. 将公钥添加到GitHub账户

    • 复制公钥文件内容:执行 cat ~/.ssh/id_ed25519.pub,复制输出的全部文本
    • 登录GitHub,进入「Settings」→「SSH and GPG keys」→「New SSH key」
    • 随便填个Title,把复制的公钥粘贴到Key输入框,点击「Add SSH key」
  4. 测试SSH连接
    执行:

    ssh -T git@github.com
    

    如果输出 Hi [你的用户名]! You've successfully authenticated, but GitHub does not provide shell access. 就说明认证成功,此时再执行 git push -u origin master 即可。

方案二:改用HTTPS地址+个人访问令牌

如果不想折腾SSH,直接切换到HTTPS方式:

  1. 删除原有的SSH远程地址
    git remote remove origin
    
  2. 添加HTTPS格式的远程地址(替换成你的仓库地址)
    git remote add origin https://github.com/[你的用户名]/[仓库名].git
    
  3. 执行push,此时会提示输入用户名和密码:
    • 用户名填你的GitHub账户名
    • 密码填你新生成的细粒度个人访问令牌

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.02 23:52:47