1. 程式人生 > >git雜記:忽略ssl認證

git雜記:忽略ssl認證

當你通過HTTPS訪問Git遠端倉庫,如果伺服器的SSL證書未經過第三方機構簽署,那麼Git就會報錯。這是十分合理的設計,畢竟未知的沒有簽署過的證書意味著很大安全風險。但是,如果你正好在架設Git伺服器,而正式的SSL證書沒有簽發下來,你為了趕時間生成了自簽署的臨時證書,怎樣才是最便捷的測試手段。

本文記錄一種比較好的做法:

第一步,克隆遠端倉庫時,用env命令設定GIT_SSL_NO_VERIFY環境變數為"ture",並同時呼叫正常的git clone命令。完整的命令如下:
Bash程式碼

    export GIT_SSL_NO_VERIFY=true

    git clone https://host_name/git/project.git

     或者連成一行:

    env GIT_SSL_NO_VERIFY=true  git clone https://host_name/git/project.git


第二步,在克隆完畢的倉庫中將http.sslVerify設定為"false"。完整的命令如下:
Bash程式碼

    git config http.sslVerify "false"  

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