So beheben Sie, dass Git immer nach Benutzeranmeldeinformationen für die HTTP (S) -Authentifizierung fragt
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.
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
Der Hauptnachteil dieser Methode, die Ihr Nutzername und Passwort wird im Befehl in der Shell-Verlaufsdatei gespeichert.
sowie in der .git / config Datei unter dem lokalen Ordner, der ein Sicherheitsrisiko birgt.
$ cat .git/config
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
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.
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.