Как установить свой сертификат в Linux, чтобы git работал

Т.к. в нашей компании прекрасно развита бюрократия, нам приходится работать на своих ноутах. Мы же пишем не open-source, а закрытый проект, логично, что нужно задуматься о безопасности. Github в молоко, т.к. для private-репозитория нужно платить; bitbucket - тоже, ибо нас более 5 человек и, соответственно, опять нужно платить. В основном, все такие сервисы требуют от 5$ за 1(!) разработчика. Будем считать, что нас 10:

  • GitHub: 70$ в месяц.
  • Bitbucket: 20$ в месяц. В принципе Очень даже, причем тут и 500минут CI, и 5Gb LFS… в общем круто.

Но мы же упороты, поэтому хотим свое да подешевле.

В итоге решили ставить Gitlab (EE free), взяли хостинг за 1000р, установили все вроде ок, но бегать по IP не супер, к тому же по HTTP. Нужно было и домен и SSL. Взяли в reg.ru домен .info за 100р и к нему халявный сертификат. Дальше нужно было подождать пару дней, чтобы это все состыковалось. В это время, на VPS для gitlab ставили сертификат. Через пару дней все завелось, браузер все открывал корректно, но вот git ругался на отсутствие промежуточного сертификата. На stackoverflow советуют git config --global http.sslCAInfo <path_to_crt>, но для меня это рубануло доступ к github. В итоге оказалось все просто: Открываем сайт через хром, тыкам на зеленую “кнопку” перед адресом в адресной строке, открываем информацию по сертификату и экспортируем все их поочереди. Дальше, в зависимости от системы, кладем их в нужное место и запускаем обновление сертификатов. на Debian это может быть /usr/local/ca-certificates и команда sudo update-ca-certificates, на моем archlinux это были /etc/ca-certificates/trust-source/anchors/ и команда trust extract-compat. После этого гит подхватил мои (теперь уже системные) сертификаты и спокойно склонировал