it-swarm.com.de

Wie stelle ich GIT_SSL_NO_VERIFY nur für bestimmte Repos ein?

Ich muss einen Git-Server ohne richtige Zertifikate verwenden, aber ich möchte es nicht tun

env GIT_SSL_NO_VERIFY=true git command

jedes mal mache ich eine gitoperation. Ich möchte aber auch SSL für andere Git-Repositories aktiviert lassen. Gibt es eine Möglichkeit, dieses Repo lokal zu machen?

203
Charles Randall

Für die globale Einstellung können Sie dies tun 

git config --global http.sslVerify false

Um es nur für ein Projekt festzulegen, gehen Sie zum git-Projektordner root und führen Sie es aus

git config http.sslVerify false

in Ihrem spezifischen Repo können Sie die SSL-Zertifikatprüfung nur für dieses Repo deaktivieren.

379

Wie Thirumalai gesagt hat, aber innerhalb des geklonten Endlagers und ohne --global. Das heißt,

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

Sie können wie folgt vorgehen

Für ein einzelnes Repo

git config http.sslVerify false

Für alle Repo

git config --global http.sslVerify false
78

Wenn Sie sich auf einem Windows-Computer befinden und Git installiert haben, können Sie die folgenden Schritte ausführen:

  1. Wechseln Sie in den Ordner der Git-Installation, zB C:\Programme (x86)\Git\etc
  2. Bearbeiten Sie die Datei: gitconfig
  3. Fügen Sie unter [http] die folgende Zeile hinzu: sslVerify = false

    [http]
      sslVerify = false
    
10
shasi kanth

Insbesondere wenn Sie einen rekursiven Klon benötigen

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

Wenn Sie die SSL-Prüfungen für einen Git-Server deaktivieren müssen, auf dem sich mehrere Repositorys befinden, können Sie Folgendes ausführen:

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

(Wenn Sie immer noch git <v1.8.5 verwenden, führen Sie git config --global http.https://my.bad.server.sslVerify false aus.)

Erklärung aus der Dokumentation Wenn der Befehl am Ende steht, zeigen Sie den Inhalt des .gitconfig-Objekts an:

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

Unabhängig vom Repository werden alle Zertifikatsüberprüfungen für diesen Server ignoriert.

Sie haben auch eine Erklärung in dem Code

2
Mat M

Das funktioniert für mich:

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

Es gibt eine einfache Möglichkeit, GIT so zu konfigurieren, dass Ihr Server richtig gehandhabt wird. __ Fügen Sie einfach einen bestimmten http-Abschnitt für Ihren git-Server hinzu und geben Sie an, welchem ​​Zertifikat (Base64-codiert) das vertrauen soll:

~/.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

Auf diese Weise haben Sie keine SSL-Fehler mehr und überprüfen das (normalerweise) selbstsignierte Zertifikat. Dies ist der beste Weg, um Sie vor Man-in-the-Middle-Angriffen zu schützen. Wenn Sie nur die SSL-Überprüfung deaktivieren, sind Sie anfällig für diese Art von Angriffen.

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

2
Matthias B

Diese Frage taucht immer wieder auf und ich habe noch kein zufriedenstellendes Ergebnis gefunden. Hier ist also, was für mich funktioniert hat (basierend auf einer vorherigen Antwort https://stackoverflow.com/a/52706362/180676 , welche funktioniert nicht):

Mein Server ist https://gitlab.dev mit einem selbstsignierten Zertifikat.

Führen Sie zunächst git config --system --edit aus (ändern Sie --system an einer Eingabeaufforderung mit erhöhten Rechten in --global, wenn Sie dies nur für Ihren Benutzer tun möchten), und fügen Sie dann nach den vorherigen [http]-Abschnitten das folgende Snippet ein:

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

Dann überprüfe, ob du alles richtig gemacht hast:

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

Wenn Sie dies unter Linux im git-Repository-Ordner aufrufen:

git config http.sslVerify false

dadurch wird sslVerify = false im Abschnitt [http] der Datei config im Ordner .git hinzugefügt. Dies kann auch die Lösung sein, wenn Sie dies manuell mit nano .git/config hinzufügen möchten:

...
[http]
  sslVerify = false
0
rubo77

wenn Sie unter Windows globale Konfiguration wünschen, führen Sie es aus

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