web-dev-qa-db-fra.com

Comment définir GIT_SSL_NO_VERIFY pour des dépôts spécifiques uniquement?

Je dois utiliser un serveur git sans les certificats appropriés, mais je ne veux pas avoir à le faire.

env GIT_SSL_NO_VERIFY=true git command

chaque fois que je fais une opération git. Mais je voudrais aussi laisser SSL activé pour d’autres dépôts git. Existe-t-il un moyen de transformer ce local en un seul repo?

203
Charles Randall

Pour le régler globalement, vous pouvez faire 

git config --global http.sslVerify false

Pour le définir uniquement pour un projet, accédez à la racine du dossier de projet git et exécutez-le.

git config http.sslVerify false

dans votre référentiel spécifique pour désactiver la vérification de certificat SSL pour ce référentiel uniquement.

379
Joachim Isaksson

Comme ce que Thirumalai a dit, mais à l'intérieur du référentiel cloné et sans --global. C'est à dire.,

  1. GIT_SSL_NO_VERIFY=true git clone https://url
  2. cd <directory-of-the-clone>
  3. git config http.sslVerify false
87
mcepl

Vous pouvez faire comme suit

Pour un seul repo

git config http.sslVerify false

Pour tout repo

git config --global http.sslVerify false
78

Si vous utilisez une machine Windows et que Git est installé, essayez les étapes ci-dessous:

  1. Allez dans le dossier d’installation de Git, ex: C:\Program Files (x86)\Git\etc
  2. Editez le fichier: gitconfig
  3. Sous la section [http] , ajoutez la ligne: sslVerify = false

    [http]
      sslVerify = false
    
10
shasi kanth

En particulier si vous avez besoin d'un clone récursif

GIT_SSL_NO_VERIFY=true git clone --recursive https://github.com/xx/xx.git
7
user5958256

Si vous devez désactiver les vérifications SSL pour un serveur git hébergeant plusieurs référentiels, vous pouvez exécuter:

git config --bool --get-urlmatch http.sslverify https://my.bad.server false

(Si vous utilisez toujours git <v1.8.5, exécutez git config --global http.https://my.bad.server.sslVerify false)

Explication à partir de documentation où la commande est à la fin, affiche le contenu du .gitconfig sous la forme:

[http "https://my.bad.server"]
        sslVerify = false

Il ignorera toute vérification de certificat pour ce serveur, quel que soit le référentiel.

Vous avez aussi des explications dans le code

2
Mat M

Cela fonctionne pour moi:

git init
git config --global http.sslVerify false
git clone https://myurl/myrepo.git
2
JedatKinports

Il existe un moyen simple de configurer GIT pour qu’il gère correctement votre serveur . Il suffit d’ajouter une section http spécifique à votre serveur git et de spécifier le certificat (à coder en Base64) à qui faire confiance:

~/.gitconfig

[http "https://repo.your-server.com"]
# windows path use double back slashes
#  sslCaInfo = C:\\Users\\<user>\\repo.your-server.com.cer
# unix path to certificate (Base64 encoded)
sslCaInfo = /home/<user>/repo.your-server.com.cer

De cette façon, vous n'aurez plus aucune erreur SSL et validerez le certificat (généralement) auto-signé. C'est la meilleure façon de faire, car cela vous protège des attaques de type "homme du milieu". Lorsque vous désactivez simplement la vérification SSL, vous êtes vulnérable à ce type d'attaques.

https://git-scm.com/docs/git-config#git-config-httplturlgt

2
Matthias B

Cette question revient sans cesse et je n'ai pas encore trouvé de résultat satisfaisant. Voici donc ce qui a fonctionné pour moi (basé sur une réponse précédente https://stackoverflow.com/a/52706362/180676 , qui ne fonctionne pas):

Mon serveur est _https://gitlab.dev_ avec un certificat auto-signé.

Première exécution _git config --system --edit_ (à partir d'une invite de commande élevée, remplacez _--system_ par _--global_ si vous souhaitez le faire uniquement pour votre utilisateur), puis insérez l'extrait de code après tout précédent _[http]_ sections:

_[http "https://gitlab.dev"]
        sslVerify = false
_

Ensuite, vérifiez si vous avez tout fait correctement:

_> git config --type=bool --get-urlmatch http.sslVerify https://gitlab.dev
false
_
1
mrexodia

Sous Linux, si vous appelez cela dans le dossier du référentiel git:

git config http.sslVerify false

ceci ajoutera sslVerify = false dans la section [http] du fichier config dans le dossier .git, qui peut également être la solution, si vous souhaitez l'ajouter manuellement avec nano .git/config:

...
[http]
  sslVerify = false
0
rubo77

pour windows, si vous voulez une configuration globale, lancez

git config --global http.sslVerify false
0
176coding