вторник, 20 октября 2020 г.

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

При выполнениии команды 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

# 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
После выполнения данных операций подключение к серверу будет происходить без проблем.

Комментариев нет:

Отправить комментарий