So beheben Sie, dass Git immer nach Benutzeranmeldeinformationen für die HTTP (S) -Authentifizierung fragt

Um auf ein entferntes Git-Repository zuzugreifen oder mit diesem zu arbeiten, können Sie entweder verwenden SSH oder HTTP (S) Protokolle; Bei ersteren können Sie bei privaten Repositorys einfach SSH-Schlüssel ohne Passphrase konfigurieren, sodass Sie Daten sicher übertragen können, ohne Ihren Benutzernamen und Ihr Kennwort einzugeben.

Jedoch mit HTTP (S)Bei jeder Verbindung werden Sie aufgefordert, Ihren Benutzernamen und Ihr Kennwort einzugeben (wenn Git eine Authentifizierung für einen bestimmten URL-Kontext benötigt). Github-Benutzer wissen dies genau.

In diesem Artikel zeigen wir Ihnen, wie Sie Git beheben können, indem Sie immer nach Benutzeranmeldeinformationen für den Zugriff über fragen HTTP (S). Wir werden verschiedene Möglichkeiten erläutern, um zu verhindern, dass Git bei der Interaktion mit einem Remote-Repository über wiederholt nach Benutzername und Kennwort fragt HTTP (S).

So installieren Sie Git unter Linux

Wenn Sie das nicht haben Git Führen Sie auf Ihrem System das entsprechende Paket aus, damit Ihre Linux-Distribution es installiert (verwenden Sie das Sudo Befehl wo nötig).

$ sudo apt install git      [On Debian/Ubuntu]
# yum install git           [On CentOS/RHEL/Fedora]
$ sudo zypper install git   [On OpenSuse]
$ sudo pacman -S git        [On Arch Linux]

Eingabe des Git-Benutzernamens und -Kennworts in die Remote-URL

Wie wir bereits erwähnt hatten, beim Klonen einer Fernbedienung Git Repository vorbei HTTP (S), jede Verbindung braucht a Nutzername und Passwort wie gezeigt.

Klonen Sie das Remote Git Repository
Klonen Sie das Remote Git Repository


Verhindern Git von der Frage nach Ihrem Nutzername und Passwortkönnen Sie die Anmeldeinformationen wie gezeigt in die URL eingeben.

$ sudo git clone https://username:[email protected]/username/repo_name.git
OR
$ sudo git clone https://username:[email protected]/username/repo_name.git local_folder
Fügen Sie Git-Anmeldeinformationen zur URL hinzu
Fügen Sie Git-Anmeldeinformationen zur URL hinzu

Der Hauptnachteil dieser Methode, die Ihr Nutzername und Passwort wird im Befehl in der Shell-Verlaufsdatei gespeichert.

Shell-Verlauf anzeigen
Shell-Verlauf anzeigen

sowie in der .git / config Datei unter dem lokalen Ordner, der ein Sicherheitsrisiko birgt.

$ cat .git/config
Anzeigen von Git-Anmeldeinformationen in der Konfigurationsdatei
Anzeigen von Git-Anmeldeinformationen in der Konfigurationsdatei

Hinweis: Für Github-Benutzer, die die Zwei-Faktor-Authentifizierung aktiviert haben oder auf eine Organisation zugreifen, die diese verwendet SAML Bei der einmaligen Anmeldung müssen Sie ein persönliches Zugriffstoken generieren und verwenden, anstatt Ihr Kennwort für einzugeben HTTPS Git (wie in den Beispielausgaben in diesem Handbuch gezeigt). Um ein persönliches Zugriffstoken zu generieren, in Github, gehe zu die Einstellungen => Entwicklereinstellungen => persönlich Zugriffstoken.

Speichern des Remote Git Repository-Benutzernamens und -Kennworts auf der Festplatte

Die zweite Methode besteht darin, den Git-Anmeldeinformations-Helfer zu verwenden, um Ihren Benutzernamen und Ihr Kennwort wie gezeigt in einer einfachen Datei auf der Festplatte zu speichern.

$ git config credential.helper store               
OR
$ git config --global credential.helper store       

Von nun an, Git schreibt Anmeldeinformationen an die ~ / .git-Anmeldeinformationen Datei für jeden URL-Kontext, wenn zum ersten Mal darauf zugegriffen wird. Um den Inhalt dieser Datei anzuzeigen, können Sie den Befehl cat wie gezeigt verwenden.

$ cat  ~/.git-credentials
Gespeicherte Git-Anmeldeinformationen auf der Festplatte anzeigen
Gespeicherte Git-Anmeldeinformationen auf der Festplatte anzeigen

Bei nachfolgenden Befehlen für denselben URL-Kontext liest Git Ihre Benutzeranmeldeinformationen aus der obigen Datei.

Genau wie bei der vorherigen Methode wird auf diese Weise Benutzeranmeldeinformationen an übergeben Git ist auch unsicher, da die Speicherdatei unverschlüsselt ist und nur durch Standardberechtigungen für das Dateisystem geschützt ist.

Die unten erläuterte dritte Methode wird als sicherer angesehen.

Zwischenspeichern des Benutzernamens und des Kennworts des Remote Git Repository im Speicher

Zu guter Letzt können Sie auch die verwenden Git Anmeldeinformationen helfen dabei, Ihre Anmeldeinformationen für einige Zeit vorübergehend im Speicher zu speichern. Geben Sie dazu den folgenden Befehl ein.

$ git config credential.helper cache
OR
$ git config --global credential.helper cache

Wenn Sie nach dem Ausführen des obigen Befehls zum ersten Mal versuchen, auf ein privates Remote-Repository zuzugreifen, fragt Git nach Ihrem Benutzernamen und Kennwort und speichert diese für einige Zeit im Speicher.

Cache Git-Anmeldeinformationen im Speicher
Cache Git-Anmeldeinformationen im Speicher

Die Standard-Caching-Zeit ist 900 Sekunden (oder 15 Minuten), woraufhin Git Sie auffordert, Ihren Benutzernamen und Ihr Passwort erneut einzugeben. Sie können es wie folgt ändern (1800 Sekunden = 30 Minuten oder 3600 Sekunden = 1 Stunde).

$ git config --global credential.helper 'cache --timeout=18000'
OR
$ git config --global credential.helper 'cache --timeout=36000'

Weitere Informationen zu Git Helfer für Anmeldeinformationen finden Sie in ihren Manpages.

$ man git
$ man git-credential-cache
$ man git-credential-store

War dieser Leitfaden hilfreich? Lassen Sie es uns über das unten stehende Feedback-Formular wissen. Sie können auch Fragen oder Gedanken zu diesem Thema teilen.

Similar Posts

Leave a Reply

Your email address will not be published. Required fields are marked *