VS Code执行git push报错No anonymous write access及SSH权限问题求解
公钥填写规则
向GitHub SSH密钥输入框提交内容时,必须复制id_ed25519.pub文件的全部内容,包括开头的ssh-ed25519前缀和末尾的邮箱后缀,缺失任意部分都会导致GitHub判定密钥格式非法,无法完成认证。
「No anonymous write access」其他通用解决方案
- 确认你对目标仓库拥有写入权限:如果是第三方个人/组织仓库,需联系管理员开通推送权限;如果是Fork来的仓库,默认只能推送到你自己的Fork副本,无法直接推送到上游原仓库
- HTTPS模式下排查本地凭证:Windows系统可进入凭据管理器删除旧的GitHub账号凭证,重新推送时输入正确的用户名和Token即可;Mac系统可进入钥匙串访问删除对应GitHub凭证后重试
- 校验远程仓库地址正确性:执行
git remote -v查看当前绑定的远程地址,确认地址拼写无错误、未携带多余字符
SSH切换后「agent refused operation」报错解决方案
该报错是本地SSH代理未正确加载私钥导致,按以下步骤修复:
- 启动本地ssh-agent服务:
eval "$(ssh-agent -s)"
- 修正私钥文件权限(SSH要求私钥仅当前用户可读写,权限过高会被拒绝访问):
chmod 600 ~/.ssh/id_ed25519
- 将私钥添加到ssh-agent中:
ssh-add ~/.ssh/id_ed25519
- 测试GitHub SSH连通性:
ssh -T git@github.com
返回包含You've successfully authenticated的提示即说明认证成功,重试推送即可。
内容的提问来源于stack exchange,提问作者MagnusEffect
相关产品推荐
相关产品推荐

