目錄
- 1. git update-git-for-windows 報錯
- 2. 解決方案
- 2.1. 更新 CA 證書庫
- 2.2. 使用 SSH 連接(推薦)
- 2.3 禁用 SSL 驗證(不推薦)
1. git update-git-for-windows 報錯
Lenovo@LAPTOP-EQKBL89E MINGW64 /d/YHProjects/omni-channel-recon-dev (master)
$ git update-git-for-windows
curl: (60) schannel: SEC_E_UNTRUSTED_ROOT (0x80090325) - More details here: https://curl.se/docs/sslcerts.htmlcurl failed to verify the legitimacy of the server and therefore could not
establish a secure connection to it. To learn more about this situation and
how to fix it, please visit the webpage mentioned above.
- 操作:windows環境使用
git update-git-for-windows
從我自己的gitee倉庫更新代碼。 - 報錯信息:curl 在嘗試與服務器建立安全連接時,無法驗證服務器的 SSL 證書。這可能是因為服務器使用了自簽名證書,或者證書鏈中的某個證書不被客戶端信任。
簡而言之:我的本機(即本地 Git 客戶端)拒絕驗證遠程服務器的 SSL 證書。
2. 解決方案
2.1. 更新 CA 證書庫
Windows操作系統通常會通過Windows Update自動更新根證書。
確保我的操作系統或 Git 客戶端的 CA 證書庫是最新的,這樣可能會包含遠程服務器證書的簽發機構。
但是我的Windows11確實已經是最新版的了,并且我想起來了,我昨天下班的時候更新了一下Windows,下班之前我都還能正常用git拉項目,更新之后就不行了。
至于去使用gitee的CA證書,于我而言就不現實了,我根本拿不到。
2.2. 使用 SSH 連接(推薦)
使用 SSH 而不是 HTTPS 來克隆或更新代碼。SSH 方式不需要依賴 SSL 證書驗證,通常更安全。
-
生成SSH密鑰
ssh-keygen -t rsa -b 4096 -C "your_email@example.com"
-
查看公鑰并復制
cat ~/.ssh/id_rsa.pub
-
將復制的公鑰放到個人——設置——SSH公鑰下
-
重新clone,但是選擇倉庫的ssh地址來進行克隆
git clone git@gitee.com:username/repo.git
2.3 禁用 SSL 驗證(不推薦)
不推薦的原因如下:
- 雖然可以臨時禁用 SSL 驗證來繞過這個問題,但這會降低安全性,因為它會使你的連接容易受到中間人攻擊。
- 壓根不起作用,臨時禁用都不行,還是報錯,艸。
git config --global http.sslVerify false