GitHub への push/pull/clone が「fatal: unable to access 'https://github.com/...': SSL certificate problem: unable to get local issuer certificate」でエラーになる時にやること

前提

  • Windows で Git を使っている(他の OS でも同じだとは思いますが)
  • git:// ではなく https:// で push/pull/clone している

原因

SSL 証明書が不正のため、認証が通っていない。

対処その1

該当の証明書をインポートする。

証明書ファイル XXXX.crt を適当な場所に配置した後、以下を実行。

$ git config --global http.sslcainfo C:/(配置した場所)/XXXXXX.crt

これで通るようになるはず。

(追記) 二度目以降の pull/push/clone をした時に同エラーでしくじる場合は、 git config --global --unset http.sslcainfo で設定を外してみると良いかも。私はそれで通るようになった。理由はよくわからん。一度目の実行で証明書が登録されたから?

対処その2

対処1 ができない時の暫定。

$ git config --global http.sslVerify false

これをしても通るようになるはず。

ただしこれでは証明書による認証の意味がなくなりセキュリティ上好ましくないので、できればその1で済ませたい。