問題
在是用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命令保證了忽略整數錯誤是單行行為,不會成為默認設置。第二步則把忽略證書錯誤的設置限定在特定的倉庫,避免擴大應該設置的適用范圍而引起的潛在安全風險。
