windows 下安装GIT 屏蔽ssl证书校验

本文介绍了解决Git操作时遇到的SSL连接错误问题,通过在gitconfig文件中设置sslVerify为false来屏蔽SSL证书校验,适用于HTTPS类型的远程仓库。

在开发环境中使用开发工具集成本地git客户端或者集成部署中往往我们会直接从git库里拉代码或者提交,而有些git远程仓库是https加了ssl证书的,这个时候我们clone 或者submit 时时就会报:

fatal: unable to access 'https://github.com/.........git/': SSL connect error

解决办法:

我们将git客户端的配置屏蔽ssl证书校验,即:

1.找到我们的git客户端安装目录(如:我的是D:\Program Files\Git)

修改Git目录下的mingw64\etc\gitconfig文件

在“[http]”节点下添加“sslVerify = false”

然后保存即可解决

<think>嗯,用户这次提出了一个关于Yocto项目构建过程中nativesdk-unfs3的do_fetch阶段失败的具体问题。看起来用户正在处理嵌入式Linux构建系统,遇到了源码获取失败的情况。 用户引用了两段站内资料,但似乎和当前问题关联不大。第一段讲的是macOS下图标链接的技巧,第二段描述分布式文件系统的架构。可能用户之前在处理文件系统相关问题时保存过这些引用,但当前更需要解决的是git协议获取源码失败的问题。 从报错信息看,关键是git://协议访问github.com受阻。这让我想到近年github逐步弃用git明文协议的趋势——2022年3月就已经停止支持了。用户使用的配方里还写着git://这种旧协议,自然会失败。 需要确认几个关键点:首先是Yocto版本,因为较新的版本已经全面转向https协议;其次是网络环境是否存在限制,比如企业防火墙可能屏蔽git协议的9418端口。不过最稳妥的方案还是直接修改配方中的协议类型。 考虑到用户正在处理nativesdk-unfs3,这属于目标SDK的一部分。修改配方时要注意两点:一是必须保持SRC_URI的checksum校验机制,二是要确认unfs3官方仓库是否确实存在。github重定向的事也得提醒用户,毕竟有些旧链接会跳转。 用户应该具备基本的Yocto开发经验,知道如何定位bb文件。我可以提供具体的修改示例,但需要强调不同层级的配方覆盖机制——最好在用户自己的层里覆盖原配方,而不是直接修改OE-core的原始文件。 最后要预留延伸问题的空间。比如用户可能遇到其他类似配方的迁移问题,或者修改后出现checksum校验失败的情况。这些在嵌入式开发中都很常见。 </think>针对`nativesdk-unfs3`在Yocto构建中`do_fetch`阶段无法从`git://github.com/unfs3/unfs3.git`获取源码的问题,以下是分步解决方案: --- ### **根本原因** GitHub已于2022年3月15日**全面禁用未加密的`git://`协议**(端口9418),仅支持`https://`或`ssh://`协议[^1]。旧版配方中仍使用`git://`导致访问失败。 --- ### **解决方案** #### 1. **修改配方协议类型** 定位配方文件(通常为`unfs3_0.9.22.bb`或类似名称),将`SRC_URI`中的协议改为`https://`: ```bash # 原始配置(已失效) SRC_URI = "git://github.com/unfs3/unfs3.git;protocol=https" # 修改为 ↓ SRC_URI = "https://github.com/unfs3/unfs3.git;protocol=https" ``` **关键点**: - 显式声明`protocol=https`避免歧义 - GitHub支持`https`匿名拉取,无需证书配置 #### 2. **添加版本标签** 由于原链接未指定分支/标签,需补充代码版本标识: ```bash SRCREV = "c12a5c69a8e947b90a8e6f6e3bb80ac6d1c8a7e4" # 对应AUTOINC+c12a5c69a8提交 PV = "0.9.22+git${SRCPV}" ``` #### 3. **验证网络访问** 手动测试`git clone`确保资源可达: ```bash git clone https://github.com/unfs3/unfs3.git ``` 若企业网络受限,需配置代理: ```bash # 在配方或local.conf中添加 export http_proxy="http://your-proxy:port" export https_proxy="http://your-proxy:port" ``` #### 4. **备用方案:本地源码包** 若仍受阻,下载源码包并配置本地路径: ```bash # 步骤 wget https://github.com/unfs3/unfs3/archive/refs/tags/v0.9.22.tar.gz mv v0.9.22.tar.gz ${DL_DIR}/ # Yocto下载目录 # 修改配方 SRC_URI = "file://v0.9.22.tar.gz" S = "${WORKDIR}/unfs3-0.9.22" ``` --- ### **验证步骤** ```bash # 清理旧缓存 bitbake nativesdk-unfs3 -c cleansstate # 重新获取源码 bitbake nativesdk-unfs3 -c fetch ``` 观察输出是否成功下载至`${DL_DIR}/git2/github.com.unfs3.unfs3.git`。 --- ### **延伸问题** 1. **为何GitHub弃用`git://`协议?** 安全策略升级,强制使用加密传输防止中间人攻击[^1]。 2. **Yocto中如何批量迁移旧协议配方?** 使用`sed`命令全局替换: ```bash find ./layers -type f -name "*.bb" -exec sed -i 's|git://github.com|https://github.com|g' {} + ``` 3. **若遇到`SSL certificate problem`错误如何处理?** 在`local.conf`中添加: ```bash # 跳过SSL验证(临时方案) export GIT_SSL_NO_VERIFY=1 # 永久方案:更新CA证书 DISTRO_FEATURES:append = " pam openssl" ``` --- > **引用说明** > [^1]: GitHub官方公告:[The git:// protocol is deprecated](https://github.blog/2021-09-01-improving-git-protocol-security-github/) > [^2]: Yocto手册关于源码获取的配置:[Fetchers Configuration](https://docs.yoctoproject.org/ref-manual/variables.html#term-SRC_URI)
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值