my-ca-certificate
Как установить свой сертификат в 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
.
После этого гит подхватил мои (теперь уже системные) сертификаты и спокойно
склонировал