执行git push -u origin master跳转至Git Credential Manager,求SSH密钥认证方案
使用SSH密钥替代Git Credential Manager完成GitHub推送认证
先检查当前远程仓库的地址:
执行命令git remote -v,如果输出是HTTPS格式(比如https://github.com/xxx/xxx.git),说明Git默认走HTTPS认证,会触发Credential Manager。需要把远程地址改成SSH格式:git remote set-url origin git@github.com:你的GitHub用户名/你的仓库名.git将本地SSH公钥添加到GitHub账号:
- 在Git Bash中执行
cat ~/.ssh/id_rsa.pub,复制输出的全部内容(如果是自定义生成的密钥,替换成对应的公钥文件名)。 - 登录GitHub,进入「Settings」→「SSH and GPG keys」→「New SSH key」。
- 粘贴复制的公钥内容,填个辨识度高的标题(比如「Git Bash 本地密钥」),点击「Add SSH key」完成添加。
- 在Git Bash中执行
禁用Git Credential Manager的自动触发:
执行命令git config --global credential.helper "",强制Git使用SSH认证而非Credential Manager。测试SSH连接是否正常:
执行命令ssh -T git@github.com,如果看到类似「Hi 你的用户名! You've successfully authenticated, but GitHub does not provide shell access.」的提示,说明SSH认证配置成功。重新执行推送命令:
现在再运行git push -u origin master,就会通过SSH密钥完成认证,不会再弹出Credential Manager窗口了。
内容的提问来源于stack exchange,提问作者Partha Pratim Sarma
相关产品推荐
相关产品推荐

