git忽略ssl認證


問題

在是用git克隆倉庫的時候,報錯如下:

  fatal: unable to access ‘https://github.com/........../‘: OpenSSL SSL_connect: SSL_ERROR_SYSCALL in connection to github.com:443

解決方案

env命令設置GIT_SSL_NO_VERIFY環境變量為”ture”,並同時調用正常的git的clone命令,即在git里輸入:

1 export GIT_SSL_NO_VERIFY=true
2 git clone https://host_name/git/project.git 
3 或者寫成一行
4 env GIT_SSL_NO_VERIFY=true  git clone https://host_name/git/project.git

在clone完畢的倉庫中將http.sslVerify設置為"false":

git config http.sslVerify "false" 

說明

當你通過HTTPS訪問Git遠程倉庫的時候,如果服務器的SSL證書未經過第三方機構(例如:CA)簽署,那么Git就會報錯。原因是因為未知的沒有簽署過的證書意味着可能存在很大的風險。但是如果你正好在架設Git服務器,而正式的SSL整數沒有簽發下來,你為了趕時間生成了自簽署的臨時證書,上面方法就是最便捷的測試手段。

上面方法應該是Git處理可信任的SSL臨時證書的很好方案,第一步用env命令保證了忽略整數錯誤是單行行為,不會成為默認設置。第二步則把忽略證書錯誤的設置限定在特定的倉庫,避免擴大應該設置的適用范圍而引起的潛在安全風險。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM