Проблема, с которой вы столкнулись, возникает потому, что самоподписанный сертификат, который вы создали и использовали для вашего GitLab сервера, не является доверенным в системе клиента (не подписан удостоверяющим центром, которому доверяет система).
Чтобы решить эту проблему, у вас есть несколько опций:
### 1. Добавление самоподписанного сертификата в список доверенных на клиенте
На Linux это можно сделать так (вы уже попытались это сделать, но убедитесь, что все шаги выполнены корректно и сертификат действительно добавлен в системное хранилище):
```sh
sudo cp gitlab.crt /usr/local/share/ca-certificates/
sudo update-ca-certificates
```
Убедитесь также, что путь до сертификата в настройках git указан верно:
```sh
git config --global http.sslCAInfo /etc/ssl/certs/gitlab.crt
```
### 2. Отключение проверки SSL для конкретного GitLab хоста
Если вам нужно работать только с одним конкретным GitLab сервером и вы полностью доверяете ему, можно отключить проверку SSL:
```sh
git config --global http."https://your.gitlab.server".sslVerify false
```
Замените `your.gitlab.server` на доменное имя вашего GitLab сервера. Но помните, что это снижает безопасность соединения.
### 3. Отключение проверки SSL глобально (не рекомендуется)
Для временного решения проблемы, и если иные варианты не подходят, можно отключить проверку SSL на всех Git операциях:
```sh
git config --global http.sslVerify false
```
Это не рекомендуется, так как это создает потенциальный вектор атаки для man-in-the-middle (MitM) атак.
### 4. Использовать Let's Encrypt для получения бесплатного SSL сертификата
Если у вашего сервера есть доменное имя и доступ к интернету, можно использовать сертификаты, выданные Let's Encrypt, чтобы избежать проблем с самоподписанными сертификатами.
После установки и настройки сертификата Let's Encrypt проблемы с подписью должны быть решены, так как он будет автоматически признан большинством устройств и приложений.
Наконец, убедитесь, что вы убрали комментарии (`#`) перед настройками сертификата в файле `/etc/gitlab/gitlab.rb`, чтобы они были активированы:
```ruby
nginx['ssl_certificate'] = "/etc/gitlab/ssl/gitlab.crt"
nginx['ssl_certificate_key'] = "/etc/gitlab/ssl/gitlab.key"
```
И после этого снова запустите `gitlab-ctl reconfigure`.