Linux下Git推送遇403权限拒绝错误,如何解决?
Git推送403权限错误的解决方法
一、修正SSH远程仓库URL
你之前修改的SSH URL格式有误,正确的格式应该是:
git@github.com:Gtindi/alx-low_level_programming.git
执行以下命令重新设置远程地址:
git remote set-url origin git@github.com:Gtindi/alx-low_level_programming.git
执行 git remote -v 验证输出,确保origin的fetch和push地址都正确。
二、配置并验证SSH密钥
- 检查本地是否存在SSH密钥:
ls ~/.ssh/
如果没有id_ed25519.pub或id_rsa.pub这类公钥文件,生成新密钥:
ssh-keygen -t ed25519 -C "你的GitHub绑定邮箱"
按回车接受默认路径和空密码即可。
- 复制公钥内容:
cat ~/.ssh/id_ed25519.pub
将输出的全部内容复制,粘贴到GitHub账号的「Settings → SSH and GPG keys」页面,新建一个SSH key保存。
- 测试SSH连接:
ssh -T git@github.com
如果输出 Hi Gtindi! You've successfully authenticated, but GitHub does not provide shell access.,说明SSH配置成功。
三、若坚持使用HTTPS方式推送
确认你的Personal Access Token(PAT)拥有
repo权限:
创建PAT时必须勾选「repo」分类下的全部权限,否则无法推送代码。重新设置带正确PAT的远程URL:
git remote set-url origin https://<你的PAT内容>@github.com/Gtindi/alx-low_level_programming.git
- 清除本地缓存的错误凭据:
Linux下执行以下命令重置凭据存储,下次推送时会提示输入身份信息(用户名填GitHub账号名,密码填PAT):
git config --global credential.helper unset git config --global credential.helper store
四、检查本地Git配置
确保本地Git的邮箱是你GitHub账号绑定的邮箱:
git config user.email
如果不符,执行以下命令修改:
git config user.email "你的GitHub绑定邮箱"
内容的提问来源于stack exchange,提问作者GTindi1
相关产品推荐
相关产品推荐

