CTO de EON
Acabo de configurar un servidor Ubuntu 18.04 LTS con Gitlab siguiendo las instrucciones de https://about.gitlab.com/install/#ubuntu.
Emití un certificado SSL de GoDaddy y confirmé que funciona con el servidor Gitlab.
Luego actualicé gitlab.rb: gitlab_rails[‘lfs_enabled’] = true
He instalado GIT LFS Client desde https://git-lfs.github.com/.
Luego intenté encontrar una solución en línea sobre por qué no hago que LFS funcione. siempre consigo
x509: certificado firmado por una autoridad desconocida
Otros ajustes hechos en gitlab.rb:
gitlab_workhorse[‘env’] = {
‘SSL_CERT_DIR’ => ‘/opt/gitlab/embedded/ssl/certs/’
}
nginx[‘redirect_http_to_https’] = true
No soy un experto en Linux/Unix/git, pero he usado Unix/Linux durante más de 30 años y git durante varios años, no solo configuré git con LFS antes.
Acabo de tener ese mismo problema mientras corría git clone ...
para descargar el código fuente de un repositorio privado de Git en BitBucket en una imagen de Docker. Lo resolví deshabilitando la verificación SSL así:
GIT_SSL_NO_VERIFY=1 git clone ...
Fíjate que no hay &&
entre el argumento Environment y el comando git clone.
También puede configurar esa opción usando git config
:
git config http.sslverify false
Para mi caso de uso en la creación de una imagen de Docker, es más fácil configurar Env var.
-
Esto no soluciona el problema. Esto desactiva SSL. Eso no es bueno. SSL está activado por una razón.
– Juan Rocha
1 de febrero de 2022 a las 22:55
El problema es que Git LFS encuentra los certificados de forma diferente al resto de Git.
Es posible que necesite ayuda para encontrar el certificado correcto.
Mis usuarios y yo resolvimos esto señalando http.sslCAInfo a la ubicación correcta.
git config http.sslCAInfo ~/.ssh/id_ed25519
donde id_ed25519 es la clave privada de los usuarios para el repositorio problemático, así que cámbielo según corresponda.
-
Este resuelve el problema. Solo puedo decir que es divertido – agregó ayer, ayudando hoy. ¡Parece un encanto!
– Dmitri
7 sep 2022 a las 15:52
-
¿Cómo funciona esto realmente? Claramente, la identidad SSH no es lo mismo que un certificado CA (ni el formato de archivo ni de otra manera). Entonces, ¿cómo decir
git
usar ese archivo parahttp.sslCAInfo
arreglar algo? Me interesa sobre todo desde el punto de vista técnico…– 0xC0000022L
ayer
En Ubuntu, simplemente actualice su tienda System CA
# move your cert into /usr/local/share/ca-certificates
sudo curl -s 'my-pki.de/my-cert.pem' --output /usr/local/share/ca-certificates/my-cert.crt
# update store
sudo update-ca-certificates