web-dev-qa-db-ja.com

gitリポジトリでプル/プッシュできません

$ git pull Origin master
fatal: unable to access 'https://xxxxxxxxxxxxxxx': 
      error setting certificate verify locations:
CAfile: C:/Users/abc/AppData/Local/Programs/Git/usr/bin/curl-ca-bundle.crt
CApath: none

コードをプルまたはプッシュすると、このエラーが発生します。

これを修正してください。

43
Arvind

また、Windowsでこの問題に直面し、gitbashを使用してgitを実行していました。 gitbashを再インストールしただけで、git証明書はgit証明書と必要なパスを自動的に管理しました。

23
user5710358

httpsを使用する場合、パスワードを入力するか、証明書を使用する必要があります。あなたの場合、証明書は有効なものではないようです。

証明書を見つける場所をgitに指示して、このように修正してみてください:

// Add the certificate to your configuration file
git config --system http.sslcainfo "C:\Program Files (x86)\git\bin\curl-ca-bundle.crt"

または、SSLチェックを無効にすることもできます。

// or switch off SSL checks completely by executing:
git config --system http.sslverify false

設定でこれを設定して、すべてのリクエストではなく、指定されたURLに対してのみ無効にします

[http "https://weak.example.com"]
    sslVerify = false

http.sslVerify

HTTPSを取得またはプッシュするときにSSL証明書を検証するかどうか。


http.sslCAInfo

HTTPSでフェッチまたはプッシュするときにピアを検証する証明書を含むファイル

47
CodeWizard

私はかつて同じ問題を抱えていました。 git for Windowsを再インストールした後に問題が発生しました。私は、Windows 10上のWindows 64ビットにgitを使用しています。

インストーラーがC:/Users/[USER_NAME]/AppData/Local/Programs/Gitにgitをインストールしなくなったことがわかりました。代わりに、C:\Program Files\Gitの下にインストールしました。

それにもかかわらず、古い構成ファイルC:\ProgramData\Git\configはインストーラーによって編集されませんでした。このファイルにはまだ古いパスが含まれているため、手動で編集しました。

例えば。私が使用したシステムで

[http]
     sslCAInfo = C:/Programme/Git/mingw64/ssl/certs/ca-bundle.crt

代わりにProgram Filesを使用する必要があります

     sslCAInfo = C:/Program Files/Git/mingw64/ssl/certs/ca-bundle.crt

編集

DS が彼のコメントで言ったように

C:\ ProgramData\Git\configを管理者として編集する必要があります。

例えば。メモ帳を右クリックして "管理者として実行" を選択し、ファイルを開きます。

24
René Link

Git-bashのバージョン2.xでは、.crtへのパスが../Git/mingw64/ssl/certs/ca-bundle.crtに変更されました。私はこれをgit-bashで手動で更新する必要がありました

 git config --global http.sslcainfo "/path/to/Git/mingw64/ssl/certs/ca-bundle.crt"
12
stiteler
 git config --global http.sslverify "false" 
  • ユーザー名とパスワードを入力するポップアップウィンドウが表示された後に問題が解決します。
5
Abu Bakr

これを試して

git config --system http.sslcainfo "C:\Program Files (x86)\git\bin\curl-ca-bundle.crt"

または

このコマンドを実行してSSLをオフにします

git config --system http.sslverify false
5
Prabu Guna

これにより、GIT 2.xクライアントから2.5.xに移行しながら作業が行われます

GITクライアントの新しいバージョンをインストールすると、証明書の検索パスが次のように変更されます。

C:\Program Files\Git\mingw64

このようなものに:

C:\Program Files\Git\mingw64\libexec

これを修正するには、「ssl」フォルダを新しい場所にコピーするだけで、魅力的に機能します!

2
Naor Bar

Gitバージョンが2.8.1.windows.1の場合、これが役立つ場合があります。最初に、gitホームディレクトリを見つける必要があります、私の同じディレクトリにあるD:\ SDK\Git.Justだけで、フォルダ「usr」を見つけることができ、それを開いて\ ssl\certsに移動し、証明書を見つけることができます: ca-bundle.crt。

次にコンソールを開き、実行します:
git config --system http.sslcainfo "D:\SDK\Git\usr\ssl\certscabundle.crt"

2
dav dai

Gitディレクトリに移動し、mingw64/sslフォルダーをmingw64/libexec/sslに移動します

将来の読者向け:

Cygwinにdevelパッケージをインストールした後、この問題が発生していました。

このスレッドですべての修正を試みましたが、何も機能しませんでした

次に、 githubのこのスレッド に遭遇しました

私がやったことは、gitconfigでCAPATHが指定されている場所を見つけ、そのhttps仕様を削除して、問題を解決したことです。

1
Steven

でSSL証明書を見つけました:

C:\Users\[USERNAME]\AppData\Local\GitHub\PortableGit_[portable code]\usr\ssl\certs

その後、 CodeWizard つまり:

// Add the certificate to your configuration file
git config --system http.sslcainfo "[LOCATION_SPECIFIED_ABOVE]/cabundle.crt"
1
deepak garg

現在のGit for Windowsビルド(2.18.0.windows.1)にはバグがあります。http.sslcainfoが設定されていない場合、C:/Program Files/Git/mingw64/libexec/ssl/certs/ca-bundle.crtで証明書ストアを見つけることが期待されます。

証明書ストアは実際にC:/Program Files/Git/mingw64/ssl/certs/ca-bundle.crtにインストールされるため、修正するには適切なパスを指定する必要があります。

さらに、このビルドではSCHANNEL実装も壊れています。

最後に、Git資格情報マネージャーも壊れています。これは、gitlab-runnerインストールから保存されたCI/CO資格情報がある場合、異なる資格情報の入力を求める代わりに、アクセス拒否エラーでクローン/プッシュ/プルに失敗するためです。

1
Igor Levicki

Windows 10のインストール後にcygwinを最新に更新した後、同じ問題が発生しました。インストール中にコマンドupdate-ca-trustが失敗しました。

理由は、証明書フォルダーのグループ所有者が破損しているためと思われます。やや抜本的な解決策は/etc/groupを削除することでした。cygwinはwindowsにグループ権限を直接問い合わせることができました。

http://zaunerc.blogspot.se/2016/01/cygwin-mapping-windows-sids-to-posix.html で見つかったソリューション

1
Bimme

https://github.com/npm/npm/issues/1484 に感謝
git config --global http.sslverify "false"は問題を解決します

0
Vensent Wang

Intellijとgit-sdk-64を使用し、最初にgit-sdk-64\mingw64\bin\git.exeを選択してこの問題を取得し、git-sdk-64\cmd\git.exeに切り替えると、証明書ファイルの場所のみを把握し、他の設定は不要でした。 (git config --global http.sslcainfo ...を使用していません)

0
arntg

同じエラーメッセージが表示されましたが、githubリポジトリのクローンを作成中に、残念ながらhttp.sslcainfoを設定してもまったく役に立ちませんでした。私がたまたま企業のプロキシサーバーの背後にいたので、http.proxyを設定すると修正されました。

0
Shreyas Murali

私は同じエラーがあり、デフォルトのパスにgitを再インストールして修正しました:

C:\ Program Files\Git

それで全部です

0
cesarnet

Windows 7でも同じエラーが発生しました。エラーで参照されている証明書パスが存在しないことがわかりました。..\ mingw32\usr\ssl ...の代わりに... certファイルは...\mingw2にありました。\ssl ...そこで、usrフォルダを手動で作成し、sslツリー全体をusrに移動しました。これにより問題が修正されました。

0
Ramkumar NJ

このスレッドは、盲目的な盲目的な答えがたくさんあります。私はもう1人の盲人ですが、同じ問題を抱えていて、 この簡単な記事 に従って解決しました。私は元の質問を理解しているので、gitはHTTPSプロトコルを使用するためにSSL証明書ファイルを見つけようとしましたが、ファイルを見つけることができませんでした。ここでの回答のほとんどは、ファイルを正しく置き換えるのではなく、「SSLを無効にするだけ」に焦点を当てているようです。

この呪文は、証明書ファイルを生成し、cygwinのgitの正しい場所に配置する必要があります。

$ curl -sL http://ca.pdinc.us > /etc/pki/ca-trust/source/anchors/ca.pdinc.us.pem \
&& update-ca-trust

Git configを(私がやったように)使いこなし、BACKを設定する必要がある場合、これを行う必要があります。

$ git config --global http.sslcainfo "/etc/pki/ca-trust/extracted/openssl/ca-bundle.trust.crt"

このスレッドを読んでいる多くの人々に影響を与える可能性のあるもう1つの補足事項:certファイルの予想される場所は、実行しているgit実行可能ファイルによって異なります。 Cygwinについて話しているので、おそらく(ほとんどの場合)Windowsネイティブのgitもインストールされています。 CygwinパスがWindows git実行可能ファイルを検索するように設定されている場合、http.sslcainfo構成を指す場所に関してマイレージが異なる場合があります。どの実行可能ファイルがピックアップされているかを確認するには:

$ which git
0

私は、Windows 10の最後で問題を解決するのに次の手順が役立つことを発見しました。

Gitのアンインストールを行います。

ただし、git uninstallerはクリーンな仕事をしません。したがって、C:\ Users [私の名前]\AppData\Local\Programs \にあるGitディレクトリを削除する必要があるかもしれません

この後、gitの新規インストールでは、ssl証明書を読み取るために、configファイルが指すC:\ Program Files\Gitディレクトリにインストールする必要があります。

0
14inc

同じエラーメッセージが表示されますが、私の場合は、githubの設定を変更してhttpsではなくsshを使用したためです。

また、問題のあるリポジトリは、リモートを削除し、sshで再追加した後、httpsでクローン化され、期待どおりに機能しています。

$git remote remove Origin
$git remote add Origin [email protected]:UserName/repo.git

その後、git remote show Originはリモートを正しく表示します。

0
AWolf