Github:プライベートリポジトリのクローン作成エラー


155

https-URLを使用してGitHubプロジェクトのクローンを作成しようとしていますが、次のエラーで失敗します。

$ git clone https://foo@github.com/foo/foo-private.git
Cloning into foo-private...
Password:
error: error setting certificate verify locations:
  CAfile: /bin/curl-ca-bundle.crt
  CApath: none
 while accessing https://foo@github.com/foo/foo-private.git/info/refs

fatal: HTTP request failed

何が悪いのですか?

回答:


289

Windowsでmsysgit 1.7.2.3を使用してこれを確認しました。bin / curl-ca-bundle.crtへのパスを修正する必要があります。バックスラッシュを使用して、絶対パスを指定する必要がありました。

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

または—あまりお勧めしません—次のコマンドを実行して、SSLチェックを完全にオフにすることもできます。

git config --system http.sslverify false

どちらの場合も、これにより[git-install-dir] / etc / gitconfigファイルが変更され、直接編集することもできます。

http://github.com/blog/642-smart-http-supportにある元のソリューション)


1
私の場合、Windowsのディレクトリ区切り文字を使用する必要がありました。つまり、パス内のディレクトリを区切るために、「/」(UNIX)ではなく「\」(Windows)を使用する必要があります。
ビクター

以下の元の投稿が私にとってはうまくいくので、公開リポジトリで試してみてください:$ git clone github.com/schacon/grack.gitプライベートリポジトリの場合、またはリポジトリへのプッシュアクセスを行う場合は、次のようにクローンを作成できます:$ git clone username@github.com/username/project.git Thanks :)
J4cK

13
今後の参照のために、パスが「C:\ Program Files(x86)\ Git \ mingw32 \ ssl \ certs \ ca-bundle.crt」に変更されたようです
Ben

3
私の64ビットマシンのパスは「C:\ Program Files \ Git \ mingw64 \ ssl \ certs \ ca-bundle.crt」です
Kamaraju Kusumanchi

3
私の64ビットマシンで動作しgit config --global http.sslcainfo "C:\Program Files\Git\mingw64\ssl\certs\ca-bundle.crt"ましたが、システムが失敗したのになぜグローバルなのかはわかりません。
瀬馬子

76

https://git-for-windows.github.io/からGitをインストールする問題を解決しまし た。証明書ファイルのパスを見つけます。

D:\ Program Files \ Git \ mingw64 \ ssl \ certs \ ca-bundle.crt

Gitパスを構成します。

git config --system http.sslcainfo "D:\ Program Files \ Git \ mingw64 \ ssl \ certs \ ca-bundle.crt"

再試行


13
わかったerror: could not lock config file C:\Program Files\Git\mingw64/etc/gitconfig: Permission denied。蘭"C:\Program Files\Git\git-bash.exe"管理者として、また、再度試してみました、それが働きました。ありがとう!
AXO、2015

より良い説明
カシムランワラ2017

2
私はGit for Windows 2.13.2をインストールしたばかりで、リモートにプッシュしようとしてこの問題に遭遇しました。証明書ファイルが同様の場所にあることがわかりました:C:\Program Files\Git\mingw64\ssl\certs\ca-bundle.crt
Simon Tewsi '

1
これは私のために働きました、私は共有されたリンクを使用してGitをインストールしただけです、そしてそれは私のためにそれを解決しました、ありがとう
Sunny Okoro Awa

インストール時にGITを指定したディレクトリにインストールしたため、そのインストールに応じて正しいMINGW64パスを指定する必要がありました
gargkshitiz

21

MSYS2を使用する場合...

次のコマンドで証明書パッケージをインストールするだけです。

32ビット

pacman -S mingw-w64-i686-ca-certificates ca-certificates

64ビット

pacman -S mingw-w64-x86_64-ca-certificates ca-certificates

1
一を足す。ありがとう。このmsys2 32ビットを実行する必要があることを思い出さないでください。ただし、状況は異なる場合があります。
bvj

1
ありがとう、私はこれがmsys2 64ビットを使用して行うことであることを確認します:-D
FabienRohrer '19

1
/usr/ssl/certs/ca-bundle.crtファイルが空である場合があります。ca-certificatesを再インストールするだけです
Daniel YC Lin

Windows以外の場合:$ pacman -S mingw-w64-x86_64-ca-certificates ca-certificates bash:
pacman

@Javixだから「MSYS2を使うなら」と書いてある。pacmanコマンドは、Windowsではデフォルトでは使用できませんが、MSYS2がインストールされている場合は使用できます。
CoolOppo 2016年

12

Cygwinを使用していた場合は、apt-cygを使用してca-certificatesパッケージを インストールできます。

wget rawgit.com/transcode-open/apt-cyg/master/apt-cyg
install apt-cyg /usr/local/bin
apt-cyg install ca-certificates

コマンドラインからcygwinパッケージをインストールするにはどうすればよいですか?


1
くそー。長い間検索しました。これはMacでも機能しました。共有していただきありがとうございます。
プロウ2014

1
Cygwinでそれは私のために働いたgit config --system http.sslcainfo /usr/ssl/certs/ca-bundle.crt
ATorras

9
git config --global http.sslverify "false" 

問題を解決します。その後、ポップアップウィンドウが表示され、ユーザー名とパスワードを入力します


5
これのセキュリティの影響について言及したいと思うかもしれません。これは、特に世界的にはひどい考えのようです。
C.ヘリング2017

HPC for meを担当
mmann1123

6

解決済み:Git Windowsインストーラーのアップデートをインストールしたときにこのエラーが発生しました。管理者権限でインストールしなかったため、Gitは「C:\ program Files」ではなく「C:\ Users \ my_name \ AppData \ Local \ Programs」にインストールされました。管理者としてGitを再インストールすると、C:\ program FilesにGitを置くことが許可され、すべてが再び問題なく動作しました。


それだけの価値があるのは、GitHubデスクトップをアンインストールして再インストールしたことですが、AppDataフォルダーをまだ使用しているにもかかわらず、この問題を解決できました。
Ben Collier、2015

5

これは私にとってはうまくいきました(私はManjaro linuxを使用しています)。コマンドを実行してca-certificatesを表示します。

$ curl-config --ca
**/etc/ssl/certs/ca-certificates.crt**

しかし、実際にはパスで証明書を見つけました:

**/etc/ca-certificates/extracted/ca-bundle.trust.crt**

次に〜/ .gitconfigに設定を追加します(存在しない場合は作成します):

**vim ~/.gitconfig**
[http]
    sslVerify = true
    sslCAinfo = /etc/ca-certificates/extracted/ca-bundle.trust.crt

[user]
    email = <email of github account>
    name = <username of github account>

できます!

.rbenv]$ git pull

remote: Counting objects: 70, done.
remote: Compressing objects: 100% (47/47), done.
remote: Total 70 (delta 39), reused 12 (delta 12), pack-reused 6
Unpacking objects: 100% (70/70), done.
From https://github.com/sstephenson/rbenv
   c43928a..efb187f  master     -> origin/master
 + 37ec781...7e57b52 user-gems  -> origin/user-gems  (forced update)
Updating c43928a..efb187f
Fast-forward
 libexec/rbenv-init         |  4 ++--
 libexec/rbenv-version-file |  1 +
 test/init.bats             |  2 +-
 test/test_helper.bash      | 25 +++++++++++++++----------
 4 files changed, 19 insertions(+), 13 deletions(-)

1
archlinuxで私のために働いた!
lucasem

4

git config --system http.sslcainfo /bin/curl-ca-bundle.crt

これは機能します。完全なパスを指定する必要はありません。


3

私はgit pull中にこれに直面しました。私のために問題を修正したグローバルgit設定ファイルを編集しました。

ホームフォルダーに移動し、.gitconfigファイルを開きます。通常はC:\ Users \ .gitconfig

ファイルがない場合は作成します

[http]
sslcainfo = E:\ systools \ git-1.8.5.2 \ bin \ curl-ca-bundle.crt

そこで、独自のgitインストールパスを指定する必要があります。ここではgitのポータブルバージョンを使用しました。

次にgit clone / pullします。


1
あなたは、二重のエスケープ文字を使用する必要がありますE:\\systools...
HappyCactus

ただし、パスを引用符で囲まないでください。スーパーカウンター直感的。 "C:\\folder\\file"悪い、C:\\folder\\file良いです。私は私の時間を取り戻したいです。
信じられないほどの

2

Windowsアプリ用のGitHubと共にインストールされるGitコマンドシェルを使用している場合、更新後、この問題やその他のさまざまな問題が発生する可能性があります。Git Hub Windowsアプリを起動して、もう一度シャットダウンしてください。シェルは再び正常に動作します。問題は、Windowsアプリケーションが実行されるまで更新が完了しないことです。シェルを使用するだけでは、更新は完了しません。


2

私はこれをGithub for Windowsで見ました。

Github for Windowsをアンインストールして、再度インストールすることをお勧めします。

その前に、いくつかの方法を試しましたが成功しませんでしたが、この解決策はうまくいきました!


1

Windowsでmsysgitを使用しているときにこのエラーが発生し、原因は企業プロキシ証明書の追加でした。

curl-ca-bundle.crtを編集する場合は、ラインエンディングについて確認する必要があります。curl-ca-bundleの場合は、Linuxスタイルの行末を使用する必要があります。

> git ls-remote --tags --heads https://github.com/oblador/angular-scroll.git
fatal: unable to access 'https://github.com/oblador/angular-scroll.git/': error setting certificate verify locations:
  CAfile: C:\Program Files (x86)\Git\bin\curl-ca-bundle.crt
  CApath: none

notepad ++を使用して、行末をLinux(ラインフィード)に変換できます。


1

余談ですが、この問題は、gitを使用しようとしているユーザーがgitをインストールしたユーザーと異なる場合に、Windowsで発生する可能性があります。エラーは、gitが証明書ファイルにアクセスできないことを示している可能性があります。管理者としてgitをインストールし、@ rogertodayの回答を使用して私の問題を解決しました。


1

RHEL / CentOS 6CA証明書追加/更新するための良い解決策が見つかりました。これは、報告された根本的な問題です。

古いディストリビューションになるため、そのシステムの認証機関はコマンドを実行するまで更新されません sudo yum update

GIT_CURL_VERBOSEモードがcacertパスの問題を示すまで、問題を認識しませんでした。


0

Linuxでは、このエラーが発生し、を実行して修正しましたsudo update-ca-certificates


このコマンドが何をするのか、なぜこれが役立つのかを説明する必要があります。特にrootアクセスが必要な場合は、説明なしでrawコマンドを投稿することはお勧めできません。
ピーナッツ

0

私の問題を解決したのは、Windows 10ボックスで、Git BashではなくWindows Cmdをデフォルトとして使用して、gitとResintallingをアンインストールしてみたときです。

CMDを開き、以下を実行します

//Once installed try to resintall the bin folder 
git config --system http.sslcainfo \bin/curl-ca-bundle.crt

//disable ssl verification
git config --global http.sslverify "false"

//Then try to clone repo again
git clone git@github.com:account/someproject.git

0

他の誰かがGit for Windowsでこの問題に直面していてcurl-ca-bundle.crt、再インストールしてもシステムに何もない場合、これは私が従ったプロセスです:

  1. ここからcurlの最新バージョンをダウンロードします。 ダウンロードして curlダウンロードミラー
  2. curl-**.**.*/libコマンドラインで抽出して移動します
  3. 走る ./mk-ca-bundle.prl
  4. ca-bundle.crtあなたのgitパスにコピーして、他の回答にリストされているように設定を更新してください

大声で叫ぶ、この要旨私はインストールを成し遂げる助けるため。


0

Windows Server 2016でこの問題を解決するには、再インストールし、「HTTPSトランスポートバックエンドの選択」インストール手順で「ネイティブWindowsセキュアチャネルライブラリ」を選択します。



0

私のwin10ケースでは、2つのバージョンがあります.gitconfig

  • 最初のものは C:\Program Files\Git\etc
  • 2番目は C:\Users\<user>

コマンド

git config --system http.sslcainfo "C:\Program Files\Git\mingw64\ssl\certs\ca-bundle.crt"

確かにを変更しますがC:\Program Files\Git\etc、gitは何らかの形でconfigを使用しますC:\Users\<user>

したがって、メモ帳を使用して2番目のものを変更し、.gitconfiggitは最終的に正しい構成を取り、動作しました。


-1

次のコマンドでこの問題を解決できました。

git config --system http.sslverify false


この回答は、この設定のセキュリティ上の影響について説明し、問題を解決する他の方法も提供している場合に適しています。しかし、現在受け入れられている答えはこれ以上のことをしています...
chwarr

-1

ハードドライブ間でgitを移動した後、このエラーを受け取りました。削除して新しい場所に再インストールすると、修正されたもの


-1

git for Windowsでは、Windowsネイティブ証明書を再インストールして選択することもできます検証方法を(OpenSSLがデフォルトです)。これにより、OpenSSL検証がスキップされ、代わりにWindowsネイティブの検証が使用されます。これにより、個別のツール(OpenSSL)と証明書を維持する必要がありません。

私のために完全に働いた:)


-2

次のコマンド

git clone git://github.com/username/projectname.git

私のニーズに応じて機能しましたが、読み取り専用アクセス以上のものが必要だと思いますよね?

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.