rootとして実行されないと、Gitは失敗します。

rootとして実行されないと、Gitは失敗します。

CentOS 7からEPELを介してGit 2.18にアップグレードしたところ、Gitはリモートサーバーとの通信に関連する操作を実行できず、次のメッセージが表示されます。

fatal: unable to access 'https://my.repo.git/': Peer's certificate has an invalid signature.

などの状況で発生しますgit clonegit pullこれを使用して同じコマンドを実行すると、sudo正常に動作します。これにより、不正なファイル権限が原因でGitが必要な証明書や資格情報にアクセスできないようです。ところで、どこで確認するのか、どの証明書を確認するのかわかりません。詳細情報表示モードでGitを実行すると、追加情報は表示されません。

ベストアンサー1

主な問題は、pkcs11.txtローカルコピー~/.pki/nssdb/とシステムコピーという2つのコピーがあることです/etc/pki/nssdb/。 Gitはローカルユーザーバージョンよりもシステムバージョンを好みます。長い間、私はリポジトリにアクセスするために必要なPKCS情報を含むローカルバージョンのみを持っていました。ある時点で、新しいパッケージ(おそらくGitアップデート)を必要とするPKCS情報を持たないこのファイルのシステムバージョンを作成しました。したがって、Git(NSS経由)がpkcs11.txt

解決策は、ローカルコピーをシステム全体のコピーにマージすることでした。

この問題を解決するのに役立ついくつかの方法は、次の環境変数を設定することです。

GIT_CURL_VERBOSE=1
GIT_TRACE_VERBOSE=2

そしてこれらのスレッドは:

https://superuser.com/questions/1091521/centos-7-wont-accept-any-ssl-certificates

https://stackoverflow.com/questions/17064601/curl-not-working-error-77-for-ssl-connections-on-centos-for-non-root-users

おすすめ記事