Android Studio Git Pull遇SSL证书问题:求安全长期解决方案
安全解决Git SSL证书问题的方案
方案1:确认Git远程地址使用SSH协议(推荐)
你已经配置了SSH密钥,但如果项目的远程地址还是HTTPS格式,SSH密钥不会生效,仍会走HTTPS触发SSL证书问题:
- 查看当前远程地址:
git remote -v - 如果输出是
https://bitbucket.org/<username>/<repo-name>.git,将其改为SSH格式:git remote set-url origin git@bitbucket.org:<username>/<repo-name>.git - 验证SSH连接是否正常:
ssh -T git@bitbucket.org,返回logged in as <your-username>.说明配置生效,之后再执行git pull即可。
方案2:正确配置HTTPS协议下的SSL证书
如果必须使用HTTPS,可通过指定可信根证书解决:
- 导出Bitbucket的根证书:
打开浏览器访问Bitbucket官网,点击地址栏的锁图标 → 证书 → 转到「详细信息」标签 → 选择最顶层的根证书 → 导出为PEM格式文件。 - 配置Git使用该证书:
执行命令指定全局证书路径:git config --global http.sslCAinfo /path/to/your/exported-cert.pem
或者仅对当前项目配置:git config http.sslCAinfo /path/to/your/exported-cert.pem - 验证Android Studio的Git配置:
打开Android Studio → Settings → Version Control → Git,确保「Path to Git executable」指向系统安装的Git(而非内置Git),这样会使用你刚才配置的全局证书。
方案3:通过系统钥匙串信任证书(Mac专属)
将导出的根证书添加到Mac系统钥匙串:
- 双击导出的证书文件,选择「系统」钥匙串 → 添加。
- 在钥匙串中找到该证书,右键 → 显示简介 → 信任 → 设置「使用此证书时」为「始终信任」。
- 重启Android Studio后再尝试
git pull。
排查要点
- 确认
~/.ssh/id_rsa.pub的内容与Bitbucket账户中添加的SSH密钥完全一致,无多余空格或换行。 - 检查Git配置中是否有冲突的SSL设置:执行
git config --global --list,查看是否存在多个http.sslCAinfo或http.sslVerify条目,如有冲突可删除多余项。
内容的提问来源于stack exchange,提问作者Kratos
相关产品推荐
相关产品推荐

