使用Git Bash克隆DevOps仓库遇OpenSSL安全协商错误求助
解决Git克隆时OpenSSL不安全旧版重协商禁用的错误
这个错误是因为OpenSSL 3.1.2默认禁用了不安全的旧版SSL重协商机制,而你要克隆的仓库所在服务器使用了不兼容的旧版SSL配置,导致握手失败。以下是几种解决方法:
临时绕过(快速测试)
在Git Bash中先执行以下命令,再进行克隆:export GIT_SSL_NO_VERIFY=true git clone <你的仓库地址>注意:此方法会跳过SSL证书验证,仅适合临时使用,不建议长期开启。
针对特定仓库配置(更安全)
创建一个临时OpenSSL配置文件(比如openssl_legacy.cnf),写入以下内容:openssl_conf = openssl_init [openssl_init] ssl_conf = ssl_sect [ssl_sect] system_default = system_default_sect [system_default_sect] Options = UnsafeLegacyRenegotiation然后在克隆前指定该配置:
export OPENSSL_CONF=/path/to/openssl_legacy.cnf git clone <你的仓库地址>替换
/path/to/为你实际保存配置文件的路径。永久全局配置(谨慎操作)
找到Git Bash使用的OpenSSL配置文件(通常在Git安装目录的ssl/openssl.cnf,比如C:\Program Files\Git\usr\ssl\openssl.cnf),在文件开头添加以下内容:openssl_conf = openssl_init [openssl_init] ssl_conf = ssl_sect [ssl_sect] system_default = system_default_sect [system_default_sect] Options = UnsafeLegacyRenegotiation保存后重启Git Bash即可生效。注意:此操作会全局启用旧版重协商,降低SSL连接安全性,仅在确认服务器无法升级SSL配置时使用。
内容的提问来源于stack exchange,提问作者Ryan
相关产品推荐
相关产品推荐

