1. ホーム
  2. git

[解決済み] 自己署名入りの証明書をgitに受け入れさせるにはどうしたらいいですか?

2022-03-23 23:30:29

質問

Git を使用して、自己署名証明書を受け入れるように指示する方法はありますか?

私はgitサーバーをホストするためにhttpsサーバーを使用していますが、今のところ証明書は自己署名されています。

そこで初めてレポを作成しようとしたとき。

git push origin master -f

エラーが出ます。

error: Cannot access URL     
https://the server/git.aspx/PocketReferences/, return code 22

fatal: git-http-push failed

解決方法は?

特定の証明書を恒久的に受け入れるには

試す http.sslCAPath または http.sslCAInfo . アダム・スピアーズの回答 は、いくつかの素晴らしい例を挙げています。これは、質問に対する最も安全な解決策です。

単一のgitコマンドでTLS/SSL検証を無効にするには

を渡してみてください。 -c から git を適切なコンフィグ変数で指定するか、あるいは フローからの回答 :

git -c http.sslVerify=false clone https://example.com/path/to/git

特定のリポジトリでSSL認証を無効にするには

グローバルにssl検証を無効にすることが可能です。それは この操作を行わないことを強く推奨します。 しかし、念のため記載しておきます。

git config --global http.sslVerify false # Do NOT do this!


には、かなり多くのSSL設定オプションがあります。 git . のマニュアルページより git config :

http.sslVerify
    Whether to verify the SSL certificate when fetching or pushing over HTTPS.
    Can be overridden by the GIT_SSL_NO_VERIFY environment variable.

http.sslCAInfo
    File containing the certificates to verify the peer with when fetching or pushing
    over HTTPS. Can be overridden by the GIT_SSL_CAINFO environment variable.

http.sslCAPath
    Path containing files with the CA certificates to verify the peer with when
    fetching or pushing over HTTPS.
    Can be overridden by the GIT_SSL_CAPATH environment variable.

その他の便利なSSL設定オプションをいくつか紹介します。

http.sslCert
    File containing the SSL certificate when fetching or pushing over HTTPS.
    Can be overridden by the GIT_SSL_CERT environment variable.

http.sslKey
    File containing the SSL private key when fetching or pushing over HTTPS.
    Can be overridden by the GIT_SSL_KEY environment variable.

http.sslCertPasswordProtected
    Enable git's password prompt for the SSL certificate. Otherwise OpenSSL will
    prompt the user, possibly many times, if the certificate or private key is encrypted.
    Can be overridden by the GIT_SSL_CERT_PASSWORD_PROTECTED environment variable.