SSH验证通过但无法向GitHub推送代码的问题求助
已通过SSH验证却无法向GitHub推送代码的问题
执行命令情况
banana@banana-pc:~/Projects/bananaproject$ git remote add origin https://github.com/bananauser/bananaprojectmanager.git error: remote origin already exists. banana@banana-pc:~/Projects/bananaproject$ git push -u origin main Username for 'https://github.com': ^C banana@banana-pc:~/Projects/bananaproject$ ssh -T git@github.com Hi bananauser! You've successfully authenticated, but GitHub does not provide shell access. banana@banana-pc:~/Projects/bananaproject$
已完成的操作
- 将公钥添加到GitHub个人设置的“SSH and GPG KEYS”中
- 将密钥添加到ssh agent
- 通过
ssh -T git@github.com验证成功,显示正确的GitHub账户名 - 尝试初始化新仓库并完成首次推送
问题原因
你当前配置的远程仓库地址是HTTPS协议(https://github.com/bananauser/bananaprojectmanager.git),SSH验证仅对SSH协议的仓库地址生效。HTTPS协议推送时会要求输入用户名密码(或个人访问令牌),这就是SSH验证成功但推送仍卡住的核心原因。
解决步骤
- 查看当前远程仓库地址确认:
git remote -v - 删除已存在的origin远程配置:
git remote remove origin - 添加SSH协议的远程仓库地址:
git remote add origin git@github.com:bananauser/bananaprojectmanager.git - 再次执行推送命令:
git push -u origin main
内容的提问来源于stack exchange,提问作者Aubergine
相关产品推荐
相关产品推荐

