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?
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.
Comme ce que Thirumalai a dit, mais à l'intérieur du référentiel cloné et sans --global
. C'est à dire.,
GIT_SSL_NO_VERIFY=true git clone https://url
cd <directory-of-the-clone>
git config http.sslVerify false
Vous pouvez faire comme suit
Pour un seul repo
git config http.sslVerify false
Pour tout repo
git config --global http.sslVerify false
Si vous utilisez une machine Windows et que Git est installé, essayez les étapes ci-dessous:
Sous la section [http] , ajoutez la ligne: sslVerify = false
[http]
sslVerify = false
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
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
Cela fonctionne pour moi:
git init
git config --global http.sslVerify false
git clone https://myurl/myrepo.git
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.
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
_
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
pour windows, si vous voulez une configuration globale, lancez
git config --global http.sslVerify false