Вопрос или проблема
Недавно я пытался добавить свой собственный ssl для поддержки https
на localhost, что не смог сделать, но теперь я получаю все эти ошибки с сертификатами.
С командой git push
fatal: невозможно получить доступ к 'https://github.com/username/project.git/': проверка сертификата сервера не удалась. CAfile: /etc/ssl/certs/ca-certificates.crt CRLfile: none
cat /etc/ssl/certs/ca-certificates.crt
пустой.
Я пробовал
sudo apt install --reinstall ca-certificates
sudo update-ca-certificates
$ GIT_CURL_VERBOSE=1 git push
* Не удалось найти хост github.com в файле .netrc; используем значения по умолчанию
* Попытка 192.30.253.113...
* TCP_NODELAY установлен
* Подключено к github.com (192.30.253.113) порт 443 (#0)
* найдено 0 сертификатов в /etc/ssl/certs/ca-certificates.crt
* найдено 4 сертификата в /etc/ssl/certs
* ALPN, предлагаем http/1.1
* SSL-соединение с использованием TLS1.2 / ECDHE_RSA_AES_128_GCM_SHA256
* проверка сертификата сервера не удалась. CAfile: /etc/ssl/certs/ca-certificates.crt CRLfile: none
* остановлено потока ожидания!
* Закрытие соединения 0
найдено 0 сертификатов в /etc/ssl/certs/ca-certificates.crt
Я получаю ошибку при обновлении с ошибкой сертификата sudo apt update
Hit:1 http://np.archive.ubuntu.com/ubuntu bionic InRelease
Hit:2 http://np.archive.ubuntu.com/ubuntu bionic-updates InRelease
Hit:3 http://np.archive.ubuntu.com/ubuntu bionic-backports InRelease
Hit:4 http://np.archive.ubuntu.com/ubuntu bionic-proposed InRelease
Get:5 http://security.ubuntu.com/ubuntu bionic-security InRelease [83.2 kB]
Ign:6 https://deb.nodesource.com/node_8.x bionic InRelease
Ign:7 http://dl.google.com/linux/chrome/deb stable InRelease
Get:8 http://archive.canonical.com/ubuntu bionic InRelease [10.2 kB]
Hit:9 http://ppa.launchpad.net/hluk/copyq/ubuntu bionic InRelease
Ign:10 https://packages.cloud.google.com/apt cloud-sdk-bionic InRelease
Hit:11 http://dl.google.com/linux/chrome/deb stable Release
Err:12 https://deb.nodesource.com/node_8.x bionic Release
Проверка сертификата не удалась: сертификат НЕ доверен. Издатель сертификата неизвестен. Не удалось установить соединение: ошибка при проверке сертификата. [IP: 13.33.170.36 443]
Hit:13 http://packages.microsoft.com/repos/vscode stable InRelease
Err:14 https://packages.cloud.google.com/apt cloud-sdk-bionic Release
Проверка сертификата не удалась: сертификат НЕ доверен. Издатель сертификата неизвестен. Не удалось установить соединение: ошибка при проверке сертификата. [IP: 74.125.68.113 443]
Ign:15 https://download.sublimetext.com apt/stable/ InRelease
Hit:16 http://ppa.launchpad.net/mozillateam/firefox-next/ubuntu bionic InRelease
Ign:17 http://repo.vivaldi.com/stable/deb stable InRelease
Hit:18 http://repo.vivaldi.com/stable/deb stable Release
Hit:19 http://ppa.launchpad.net/ubuntubudgie/backports/ubuntu bionic InRelease
Err:20 https://download.sublimetext.com apt/stable/ Release
Проверка сертификата не удалась: сертификат НЕ доверен. Издатель сертификата неизвестен. Не удалось установить соединение: ошибка при проверке сертификата. [IP: 104.236.0.104 443]
Чтение списков пакетов... Готово
W: https://deb.nodesource.com/node_8.x/dists/bionic/InRelease: Нет доступных системных сертификатов. Попробуйте установить ca-certificates.
W: https://packages.cloud.google.com/apt/dists/cloud-sdk-bionic/InRelease: Нет доступных системных сертификатов. Попробуйте установить ca-certificates.
W: https://deb.nodesource.com/node_8.x/dists/bionic/Release: Нет доступных системных сертификатов. Попробуйте установить ca-certificates.
W: https://download.sublimetext.com/apt/stable/InRelease: Нет доступных системных сертификатов. Попробуйте установить ca-certificates.
E: Репозиторий 'https://deb.nodesource.com/node_8.x bionic Release' больше не имеет файла Release.
N: Обновление из такого репозитория невозможно выполнить безопасно и поэтому отключено по умолчанию.
N: См. страницу man apt-secure(8) для создания репозиториев и конфигурации пользователя.
W: https://packages.cloud.google.com/apt/dists/cloud-sdk-bionic/Release: Нет доступных системных сертификатов. Попробуйте установить ca-certificates.
E: Репозиторий 'https://packages.cloud.google.com/apt cloud-sdk-bionic Release' больше не имеет файла Release.
N: Обновление из такого репозитория невозможно выполнить безопасно и поэтому отключено по умолчанию.
N: См. страницу man apt-secure(8) для создания репозиториев и конфигурации пользователя.
W: https://download.sublimetext.com/apt/stable/Release: Нет доступных системных сертификатов. Попробуйте установить ca-certificates.
E: Репозиторий 'https://download.sublimetext.com apt/stable/ Release' больше не имеет файла Release.
N: Обновление из такого репозитория невозможно выполнить безопасно и поэтому отключено по умолчанию.
N: См. страницу man apt-secure(8) для создания репозиториев и конфигурации пользователя.
[отредактировано]
cat /etc/ca-certificates.conf
# Этот файл содержит списки сертификатов, которые вы хотите использовать или игнорировать для установки в /etc/ssl/certs.
# update-ca-certificates(8) обновит /etc/ssl/certs, прочитав этот файл.
#
# Этот файл автоматически сгенерирован dpkg-reconfigure ca-certificates.
# Сертификаты должны быть установлены в /usr/share/ca-certificates
# и файлы с расширением '.crt' распознаются как доступные сертификаты.
#
# строка, начинающаяся с # - это комментарий.
# строка, начинающаяся с ! - это имя файла сертификата, которое следует исключить.
#
!mozilla/ACCVRAIZ1.crt
!mozilla/AC_RAIZ_FNMT-RCM.crt
!mozilla/Actalis_Authentication_Root_CA.crt
!mozilla/AddTrust_External_Root.crt
!mozilla/AffirmTrust_Commercial.crt
!mozilla/AffirmTrust_Networking.crt
!mozilla/AffirmTrust_Premium.crt
!mozilla/AffirmTrust_Premium_ECC.crt
!mozilla/Amazon_Root_CA_1.crt
!mozilla/Amazon_Root_CA_2.crt
!mozilla/Amazon_Root_CA_3.crt
!mozilla/Amazon_Root_CA_4.crt
!mozilla/Atos_TrustedRoot_2011.crt
!mozilla/Autoridad_de_Certificacion_Firmaprofesional_CIF_A62634068.crt
!mozilla/Baltimore_CyberTrust_Root.crt
!mozilla/Buypass_Class_2_Root_CA.crt
!mozilla/Buypass_Class_3_Root_CA.crt
!mozilla/CA_Disig_Root_R2.crt
!mozilla/CFCA_EV_ROOT.crt
!mozilla/COMODO_Certification_Authority.crt
!mozilla/COMODO_ECC_Certification_Authority.crt
!mozilla/COMODO_RSA_Certification_Authority.crt
!mozilla/Certigna.crt
!mozilla/Certinomis_-_Root_CA.crt
!mozilla/Certplus_Class_2_Primary_CA.crt
!mozilla/Certplus_Root_CA_G1.crt
!mozilla/Certplus_Root_CA_G2.crt
!mozilla/Certum_Trusted_Network_CA.crt
!mozilla/Certum_Trusted_Network_CA_2.crt
!mozilla/Chambers_of_Commerce_Root_-_2008.crt
!mozilla/Comodo_AAA_Services_root.crt
!mozilla/Cybertrust_Global_Root.crt
!mozilla/D-TRUST_Root_Class_3_CA_2_2009.crt
!mozilla/D-TRUST_Root_Class_3_CA_2_EV_2009.crt
!mozilla/DST_Root_CA_X3.crt
!mozilla/Deutsche_Telekom_Root_CA_2.crt
!mozilla/DigiCert_Assured_ID_Root_CA.crt
!mozilla/DigiCert_Assured_ID_Root_G2.crt
!mozilla/DigiCert_Assured_ID_Root_G3.crt
!mozilla/DigiCert_Global_Root_CA.crt
!mozilla/DigiCert_Global_Root_G2.crt
!mozilla/DigiCert_Global_Root_G3.crt
!mozilla/DigiCert_High_Assurance_EV_Root_CA.crt
!mozilla/DigiCert_Trusted_Root_G4.crt
!mozilla/E-Tugra_Certification_Authority.crt
!mozilla/EC-ACC.crt
!mozilla/EE_Certification_Centre_Root_CA.crt
!mozilla/Entrust.net_Premium_2048_Secure_Server_CA.crt
!mozilla/Entrust_Root_Certification_Authority.crt
!mozilla/Entrust_Root_Certification_Authority_-_EC1.crt
!mozilla/Entrust_Root_Certification_Authority_-_G2.crt
!mozilla/GDCA_TrustAUTH_R5_ROOT.crt
!mozilla/GeoTrust_Global_CA.crt
!mozilla/GeoTrust_Primary_Certification_Authority.crt
!mozilla/GeoTrust_Primary_Certification_Authority_-_G2.crt
!mozilla/GeoTrust_Primary_Certification_Authority_-_G3.crt
!mozilla/GeoTrust_Universal_CA.crt
!mozilla/GeoTrust_Universal_CA_2.crt
!mozilla/GlobalSign_ECC_Root_CA_-_R4.crt
!mozilla/GlobalSign_ECC_Root_CA_-_R5.crt
!mozilla/GlobalSign_Root_CA.crt
!mozilla/GlobalSign_Root_CA_-_R2.crt
!mozilla/GlobalSign_Root_CA_-_R3.crt
!mozilla/Global_Chambersign_Root_-_2008.crt
!mozilla/Go_Daddy_Class_2_CA.crt
!mozilla/Go_Daddy_Root_Certificate_Authority_-_G2.crt
!mozilla/Hellenic_Academic_and_Research_Institutions_ECC_RootCA_2015.crt
!mozilla/Hellenic_Academic_and_Research_Institutions_RootCA_2011.crt
!mozilla/Hellenic_Academic_and_Research_Institutions_RootCA_2015.crt
!mozilla/Hongkong_Post_Root_CA_1.crt
!mozilla/ISRG_Root_X1.crt
!mozilla/IdenTrust_Commercial_Root_CA_1.crt
!mozilla/IdenTrust_Public_Sector_Root_CA_1.crt
!mozilla/Izenpe.com.crt
!mozilla/LuxTrust_Global_Root_2.crt
!mozilla/Microsec_e-Szigno_Root_CA_2009.crt
!mozilla/NetLock_Arany_=Class_Gold=_Főtanúsítvány.crt
!mozilla/Network_Solutions_Certificate_Authority.crt
!mozilla/OISTE_WISeKey_Global_Root_GA_CA.crt
!mozilla/OISTE_WISeKey_Global_Root_GB_CA.crt
!mozilla/OpenTrust_Root_CA_G1.crt
!mozilla/OpenTrust_Root_CA_G2.crt
!mozilla/OpenTrust_Root_CA_G3.crt
!mozilla/QuoVadis_Root_CA.crt
!mozilla/QuoVadis_Root_CA_1_G3.crt
!mozilla/QuoVadis_Root_CA_2.crt
!mozilla/QuoVadis_Root_CA_2_G3.crt
!mozilla/QuoVadis_Root_CA_3.crt
!mozilla/QuoVadis_Root_CA_3_G3.crt
!mozilla/SSL.com_EV_Root_Certification_Authority_ECC.crt
!mozilla/SSL.com_EV_Root_Certification_Authority_RSA_R2.crt
!mozilla/SSL.com_Root_Certification_Authority_ECC.crt
!mozilla/SSL.com_Root_Certification_Authority_RSA.crt
!mozilla/SZAFIR_ROOT_CA2.crt
!mozilla/SecureSign_RootCA11.crt
!mozilla/SecureTrust_CA.crt
!mozilla/Secure_Global_CA.crt
!mozilla/Security_Communication_RootCA2.crt
!mozilla/Security_Communication_Root_CA.crt
!mozilla/Sonera_Class_2_Root_CA.crt
!mozilla/Staat_der_Nederlanden_EV_Root_CA.crt
!mozilla/Staat_der_Nederlanden_Root_CA_-_G2.crt
!mozilla/Staat_der_Nederlanden_Root_CA_-_G3.crt
!mozilla/Starfield_Class_2_CA.crt
!mozilla/Starfield_Root_Certificate_Authority_-_G2.crt
!mozilla/Starfield_Services_Root_Certificate_Authority_-_G2.crt
!mozilla/SwissSign_Gold_CA_-_G2.crt
!mozilla/SwissSign_Silver_CA_-_G2.crt
!mozilla/T-TeleSec_GlobalRoot_Class_2.crt
!mozilla/T-TeleSec_GlobalRoot_Class_3.crt
!mozilla/TUBITAK_Kamu_SM_SSL_Kok_Sertifikasi_-_Surum_1.crt
!mozilla/TWCA_Global_Root_CA.crt
!mozilla/TWCA_Root_Certification_Authority.crt
!mozilla/Taiwan_GRCA.crt
!mozilla/TeliaSonera_Root_CA_v1.crt
!mozilla/TrustCor_ECA-1.crt
!mozilla/TrustCor_RootCert_CA-1.crt
!mozilla/TrustCor_RootCert_CA-2.crt
!mozilla/Trustis_FPS_Root_CA.crt
!mozilla/TÜRKTRUST_Elektronik_Sertifika_Hizmet_Sağlayıcısı_H5.crt
!mozilla/USERTrust_ECC_Certification_Authority.crt
!mozilla/USERTrust_RSA_Certification_Authority.crt
!mozilla/VeriSign_Class_3_Public_Primary_Certification_Authority_-_G4.crt
!mozilla/VeriSign_Class_3_Public_Primary_Certification_Authority_-_G5.crt
!mozilla/VeriSign_Universal_Root_Certification_Authority.crt
!mozilla/Verisign_Class_3_Public_Primary_Certification_Authority_-_G3.crt
!mozilla/Visa_eCommerce_Root.crt
!mozilla/XRamp_Global_CA_Root.crt
!mozilla/certSIGN_ROOT_CA.crt
!mozilla/ePKI_Root_Certification_Authority.crt
!mozilla/thawte_Primary_Root_CA.crt
!mozilla/thawte_Primary_Root_CA_-_G2.crt
!mozilla/thawte_Primary_Root_CA_-_G3.crt
Команда sudo dpkg-reconfigure ca-certificates
должна решить эту проблему.
Необходимо выбрать все центры сертификации, которые вы хотите установить.
Ответ или решение
Восстановление сертификатов CA до стандартных настроек в Ubuntu
Столкнувшись с проблемами, связанными с сертификатами CA после неудачной попытки настройки SSL для локальной разработки, вы, вероятно, столкнулись с ошибками, которые касаются проверки сертификатов. Отсутствие данных в файле /etc/ssl/certs/ca-certificates.crt
предполагает, что ваши системные сертификаты были повреждены или удалены. В этой статье мы рассмотрим, как восстановить сертификаты до стандартного состояния.
Проблема
При выполнении команды git push
вы получаете следующую ошибку:
fatal: unable to access 'https://github.com/username/project.git/': server certificate verification failed. CAfile: /etc/ssl/certs/ca-certificates.crt CRLfile: none
Также, при вводе команды:
cat /etc/ssl/certs/ca-certificates.crt
выводится пустой файл, что указывает на отсутствие сертификатов. При выполнении sudo apt update
возникают дополнительные ошибки, подтверждающие проблемы с проверкой сертификатов на уровне системы.
Решение
Для восстановления стандартных CA-сертификатов выполните следующие шаги:
Шаг 1: Переустановка пакета, отвечающего за сертификаты
Для начала, переустановите пакет ca-certificates
. Это позволит восстановить любые поврежденные файлы:
sudo apt update
sudo apt install --reinstall ca-certificates
Шаг 2: Обновление CA-сертификатов
После переустановки, необходимо обновить CA-сертификаты:
sudo update-ca-certificates
Эта команда считывает конфигурацию из файла /etc/ca-certificates.conf
и обновляет список сертификатов в вашем системе.
Шаг 3: Проверьте конфигурацию
Если после вышеуказанных действий проблема не исчезла, проверьте содержимое файла /etc/ca-certificates.conf
. Убедитесь, что там нет строк, начинающихся с !
, которые указывают на игнорирование сертификатов. Убедитесь, что необходимый вам список сертификатов активен. Например, строчки должны выглядеть так:
mozilla/ACCVRAIZ1.crt
mozilla/Actalis_Authentication_Root_CA.crt
...
Шаг 4: Конфигурирование сертификатов
Откройте конфигурацию сертификатов для редактирования:
sudo dpkg-reconfigure ca-certificates
На экране появится список сертификатов, из которых вам нужно выбрать те, которые вы хотите активировать. Убедитесь, что все необходимые вам сертификаты выбраны. Это важно, если вы хотите установить определенные сертификаты, необходимые для работы с определенными репозиториями или сервисами.
Шаг 5: Тестирование
После выполнения всех этих шагов выполните следующую команду, чтобы убедиться, что ошибки устранены:
git push
Если вы по-прежнему видите ошибки, попробуйте временно отключить проверку сертификатов в Git, однако это не рекомендуется как долгосрочное решение:
git config --global http.sslVerify "false"
Важное замечание: Отключение проверки SSL сокращает уровень безопасности вашей системы, и использовать этот метод следует только в крайних случаях.
Заключение
Восстановление сертификатов CA до стандартного состояния в Ubuntu включает несколько простых шагов. Правильная конфигурация и обновление сертификатов обеспечит стабильную работу системных инструментов и безопасный клип при взаимодействии с удаленными репозиториями. Если проблемы продолжаются, возможно, стоит проверить системные журналы или обратиться за поддержкой к сообществу Ubuntu.
Дополнительную информацию о Git и работе с сертификатами можно найти в официальной документации или на ресурсах сообщества.