Git で https URL をクローンできない

Git で https URL をクローンできない

Fedora 27 にアップグレードした後、https を使用して URL を複製できなくなりましたが、ssh は正常に動作します。エラーは次のとおりです:

致命的: アクセスできません 'https://リポジトリURL': SSL 証明書の問題: ローカル発行者の証明書を取得できません

何も変更していないので、私の /etc/pki ディレクトリは、まだ F26 を使用している友人のディレクトリとほぼ同じです。

すでに試しました:

  • git を再インストールする (2.14.3-2.fc27)
  • ca 証明書の再インストール (2017.2.16-4.fc27)
  • git オプション sslCaInfo を /etc/pki/tls/cert.pem に設定する

他に何かアイデアはありますか?

答え1

私のアイデアは次のとおりです (問題が解決したら停止できるように、各ステップの後にもう一度試すことをお勧めします)。

  1. git-core を再インストールします (関連するコンポーネントが含まれているため: 。それを見つけるためにと を/usr/libexec/git-core/git-remote-https使用しました)stracednf provides
  2. ca 証明書を再インストールします (バージョン 2017.2.16 である必要があります)
  3. に移動して/etc/pki/ca-trust/extracted/pem、ファイルの名前を変更しますtls-ca-bundle.pem。(警告: これにより、SSL 関連のほとんどの機能が一時的に無効になります。後で元の名前に戻すことを忘れないでください。) 出力はgit clone変更されましたか? 私の場合は、次のようになります: fatal: unable to access 'https://github.com/some_git': error setting certificate verify locations: CAfile: /etc/pki/tls/certs/ca-bundle.crt CApath: none
  4. git が依存するすべてのパッケージを見つけてsudo dnf repoquery --requires --resolve git(これには時間がかかる場合があります)、再インストールします。

答え2

エラーはもう一方の端 ( repo-url) から発生します。お客様側で証明書は必要ありません。

Webrepoサーバーの構成が間違っています (多くの場合、証明書チェーンの順序が間違っているか、単にタイプが間違っています)。SSL 接続を初期化するために独自の証明書を取得しようとしますが、失敗し、このようなエラーが返されます。gitサーバーからのエラーが書き出されるだけなので、混乱を招く *local" はあなたの観点からではありません。

関連情報