Githubアカウントとリポジトリを作成しましたが、推奨URLを使用してローカル作業コピーを作成しようとすると
git clone https://github.com/<user>/<project>.git
次のようなエラーが表示されます
致命的: ' https://github.com/ <user>/<project> .git 'にアクセスできません:サーバー証明書の検証に失敗しました。 CAfile:/home/<user>/.ssl/trusted.pem CRLfile:なし
私はDebian Jessieを使用しており、DebianとGitHubの両方が一般的に受け入れられているCAの選択を提供/依存することを期待していましたが、明らかに私のシステムはGibHubの証明書を信頼していません。
これを修正する簡単な方法(頻繁に推奨される「GIT_SSL_NO_VERIFY = true」ハックと同様の回避策なし)
編集:
追加情報:
〜/ .ssl/trusted.pemを削除すると、gitエラーメッセージが次のように変わります。
fatal: unable to access 'https://github.com/tcrass/scans2jpg.git/': Problem with the SSL CA cert (path? access rights?)
編集:
git https.sslCAinfoオプションに関する@VonCのアドバイスにより、私は正しい道を歩むことができました-ダウンロードしたcacert.org CAをtrusted.pemに追加しただけで、gitはもう文句を言いません。
最初に/etc/ssl/certs
でDebianに証明書がインストールされていることを確認してください。
そうでない場合は、再インストールします。
Sudo apt-get install --reinstall ca-certificates
パッケージにroot証明書が含まれない なので、追加:
Sudo mkdir /usr/local/share/ca-certificates/cacert.org
Sudo wget -P /usr/local/share/ca-certificates/cacert.org http://www.cacert.org/certs/root.crt http://www.cacert.org/certs/class3.crt
Sudo update-ca-certificates
GitがそれらのCAを参照していることを確認してください:
git config --global http.sslCAinfo /etc/ssl/certs/ca-certificates.crt
Jason C は別の潜在的な原因に言及しています( コメント内 ):
それは時計でした。 NTPサーバーがダウンし、システムクロックが適切に設定されていなかったため、最初に確認したり気付かなかったり、誤った時間のために検証が失敗した。
次のように入力して、SSL検証を無効にすることもできます(プロジェクトがログイン/パスワード以外の高度なセキュリティを必要としない場合)。
git config --global http.sslverify false
gitをお楽しみください:)
自己署名証明書などにすることもできます。SSL検証をグローバルにオフにすることは安全ではありません。システムから見えるように証明書をインストールできますが、証明書は完全に正しいはずです。
または、1回限りの構成パラメーターでクローンを作成できるため、コマンドは次のようになります。
git clone -c http.sslverify=false https://myserver/<user>/<project>.git;
GITはfalse値を記憶します。<project>/.git/config
ファイルで確認できます。
URLでリポジトリに接続してみてください:http://github.com/<user>/<project>.git
(http accept https)
あなたの場合、次のようにクローンを作成する必要があります。
git clone http://github.com/<user>/<project>.git