Je dois utiliser un serveur git sans 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 également laisser SSL activé pour les autres dépôts git. Existe-t-il un moyen de rendre ce local à un seul dépôt?
Réponses:
Tu peux faire
dans votre référentiel spécifique pour désactiver la vérification des certificats SSL pour ce référentiel uniquement.
la source
--global
option EST nécessaire lorsqu'un dépôt n'est PAS encore extrait (ne peut pas définir d'options pour un dépôt qui n'existe pas encore localement). On peut toujours le rallumer après.Vous pouvez faire comme suit
Pour un seul repo
Pour tout repo
la source
sudo
ne doit être utilisé que lorsque vous avez réellement besoin de root pour faire quelque chose. Comme installer de nouveaux logiciels, modifier des fichiers système importants, reformater des disques, reconfigurer le réseau, gérer des services ... Il n'y avait rien dans la question de ce type pour impliquer qu'il avait besoin de root pour faire quoi que ce soit. Si vous êtes administrateur, vous devriez exécuter la plupart de vos commandes, y compris celles qui modifient votre configuration, sans sudo la plupart du temps.Comme ce qu'a dit Thirumalai, 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
la source
could not lock global config file .gitconfig: Permission denied
/var/www/...
En particulier si vous avez besoin d'un clone récursif
la source
Si vous êtes sur une machine Windows et que Git est installé, vous pouvez essayer les étapes ci-dessous:
Sous la section [http] , ajoutez la ligne: sslVerify = false
la source
Il existe un moyen simple de configurer GIT pour gérer correctement votre serveur. Ajoutez simplement une section http spécifique pour votre serveur git et spécifiez le certificat (encodé en Base64) à approuver:
~ / .gitconfig
De cette façon, vous n'aurez plus d'erreurs SSL et validerez (généralement) le certificat auto-signé. C'est la meilleure façon de procéder, car elle vous protège des attaques de l'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
la source
Si vous devez désactiver les vérifications SSL pour un serveur git hébergeant plusieurs référentiels, vous pouvez exécuter:
(Si vous utilisez toujours git <v1.8.5, exécutez
git config --global http.https://my.bad.server.sslVerify false
)Explication de la documentation où se trouve la commande à la fin, affichez le
.gitconfig
contenu comme suit:Il ignorera toutes les vérifications de certificats pour ce serveur, quel que soit le référentiel.
Vous avez également quelques explications dans le code
la source
Cela fonctionne pour moi:
la source
Cette question revient sans cesse et je n'ai pas encore trouvé de résultat satisfaisant, alors voici ce qui a fonctionné pour moi (basé sur une réponse précédente https://stackoverflow.com/a/52706362/1806760 , qui ne fonctionne pas):
Mon serveur est
https://gitlab.dev
avec un certificat auto-signé.Exécutez d' abord
git config --system --edit
( à partir d' une commande élevée rapide, changement--system
de--global
si vous voulez le faire pour que votre utilisateur), puis insérez l'extrait suivant après les précédentes[http]
sections:Vérifiez ensuite si vous avez tout fait correctement:
la source
pour Windows, si vous voulez une configuration globale, exécutez
la source
specific repos
explicitementSous Linux, si vous appelez cela dans le dossier du référentiel git:
cela ajoutera
sslVerify = false
dans la[http]
section duconfig
fichier dans le.git
dossier, ce qui peut également être la solution, si vous souhaitez l'ajouter manuellement avecnano .git/config
:la source