Ошибка git "fatal: unable to access 'https://...': Peer's Certificate issuer is not recognized."

Материал из support.qbpro.ru

При выполнениии команды git clone https://адрес репозитория.git появляется ошибка

fatal: unable to access 'https://адрес репозитория.git': Peer's Certificate issuer is not recognized.

или

fatal: unable to access 'https://адрес репозитория.git/': server certificate verification failed. CAfile: /etc/ssl/certs/ca-certificates.crt CRLfile: none

Это происходит из-за того, что на машине, где выполняется команда, отсутствует доверие к корневому центру сертификации, выдавшему SSL-сертификат, используемый сервером. Решить это можно 2 путями.

  • Первый - временно игнорировать нарушение целостности цепочки сертификации.
  • Второй - установка необходимого корневого сертификата.
  • Чтобы временно отключить проверку целостности цепочки сертификации можно использовть параметр http.sslVerify=false.

Сделать это можно непосредственно при выполнении команды

git -c http.sslVerify=false clone ...

Либо указав его в переменных окружения

# Для конкретного репозитория
# (команду нужно выполнять в каталоге репозитория)
git config http.sslVerify "false"
# Для любого репозитория
git config --global http.sslVerify "false"
  • Для решения проблемы раз и навсегда убедимся, что пакет ca-cetrificates установлен и имеет актуальную версию
# Ubuntu/Debian
apt install ca-certificates
  • Решение на уровне пакетов:
sudo apt-get -t buster reinstall libcurl3-gnutls:amd64=7.64.0-4+deb10u2
sudo apt-mark hold libcurl3-gnutls
# CentOS
yum install ca-certificates
  • После чего нужно скопировать файл ca-сертификата (ca-cert.crt) в соответствующий каталог
# Ubuntu/Debian
sudo cp ca-cert.crt /usr/local/share/ca-certificates/
# CentOS
sudo cp ca-cert.crt /etc/pki/ca-trust/source/anchors/

и установить необходимый сертификат

# Ubuntu/Debian
sudo update-ca-certificates
# CentOS
sudo update-ca-trust extract

После выполнения данных операций подключение к серверу будет происходить без проблем.