创建新GitHub仓库后身份验证失效,如何适配已有SSH密钥?
解决新仓库无法使用SSH密钥验证的问题
核心原因很明确:你的新仓库远程地址用的是HTTPS格式,所以Git会走HTTPS身份验证流程,而非你已经配置好的SSH密钥。
快速修复当前仓库
先确认当前远程地址:
git remote -v你会看到类似这样的HTTPS格式输出:
origin https://github.com/你的用户名/你的仓库名.git (fetch) origin https://github.com/你的用户名/你的仓库名.git (push)将远程地址替换为SSH格式:
git remote set-url origin git@github.com:你的用户名/你的仓库名.git再次验证修改结果:
git remote -v此时输出会变成SSH格式,之后执行
git push就会自动用你的SSH密钥完成验证了。
补充说明
- 你提到
ssh-add -l无输出但ssh -T git@github.com正常,这说明你的SSH密钥是在默认路径(比如~/.ssh/id_rsa)或者通过~/.ssh/config配置了自动加载,不需要手动执行ssh-add,Git会自动识别。 - 如果想以后创建/克隆仓库时默认用SSH格式,可以配置全局Git设置:
这样之后不管是克隆HTTPS地址的仓库,还是添加HTTPS格式的远程,Git都会自动转换成SSH格式。git config --global url."git@github.com:".insteadOf "https://github.com/"
内容的提问来源于stack exchange,提问作者bobby wang
相关产品推荐
相关产品推荐

