So beheben Sie Git immer nach Benutzeranmeldeinformationen für die HTTP -Authentifizierung

So beheben Sie Git immer nach Benutzeranmeldeinformationen für die HTTP -Authentifizierung

Um mit einem Remote -Git -Repository zuzugreifen oder zu arbeiten, können Sie entweder verwenden Ssh oder Http (s) Protokolle; Mit ersterem können Sie bei privaten Repositories SSH -Tasten einfach ohne Passphrase konfigurieren, mit dem Sie Daten sicher übertragen können, ohne Ihren Benutzernamen und Ihr Passwort einzugeben.

Jedoch mit Http (s), Jede Verbindung fordert Sie auf, Ihren Benutzernamen und Ihr Kennwort einzugeben (wenn Git für einen bestimmten URL -Kontext Authentifizierung benötigt) - GitHub -Benutzer wissen dies gut.

In diesem Artikel zeigen wir Ihnen, wie Sie Git stets behoben haben Http (s). Wir werden verschiedene Möglichkeiten erläutern, Git wiederholt zu veranlassen, Benutzername und Passwort zu fordern, wenn Sie mit einem Remote -Repository übergehen Http (s).

So installieren Sie Git unter Linux

Wenn Sie das nicht haben Git Paket, das auf Ihrem System installiert ist, führen Sie den entsprechenden Befehl für Ihre Linux -Verteilung aus, um es zu installieren (verwenden Sie die Sudo Befehl bei Bedarf).

$ sudo apt install Git [auf Debian/Ubuntu] # Yum Install Git [auf Centos/Rhel/Fedora] $ sudo zypper install Git [auf OpenSuse] $ sudo pacman -S Git [auf Arch Linux] 

Git -Benutzername und Passwort in Remote -URL eingeben

Wie wir bereits erwähnt hatten, beim Klonen einer Fernbedienung Git Repository vorbei Http (s), Jede Verbindung braucht a Nutzername Und Passwort wie gezeigt.

Klonendemote -Git -Repository

Verhindern Git von der Frage nach Ihrem Nutzername Und Passwort, Sie können die Anmeldeinformationen in der URL wie gezeigt eingeben.

$ sudo git klone https: // userername: [E -Mail geschützt]/userername/repo_name.Git oder $ sudo Git Clone https: // Benutzername: [E -Mail geschützt]/Benutzername/repo_name.git local_folder 
Fügen Sie Git -Anmeldeinformationen in der URL hinzu

Der Hauptnachteil dieser Methode, die Sie haben Nutzername Und Passwort wird im Befehl in der Shell -Verlaufsdatei gespeichert.

Ansicht von Shell History

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

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

Notiz: Für GitHub-Benutzer, die die Zwei-Faktor-Authentifizierung aktiviert haben oder auf eine Organisation zugreifen, die verwendet Saml Single Sign-On müssen ein persönliches Zugriffstoken generieren und verwenden, anstatt Ihr Passwort für einzugeben Https git (Wie in den Stichprobenausgängen in diesem Handbuch dargestellt). Um ein persönliches Zugangstoken zu generieren, in Github, gehe zu Einstellungen => Entwicklereinstellungen => persönlich Zugriff auf Token.

Speichern von Remote Git -Repository -Benutzername und Passwort auf der Festplatte

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

$ git config Anmeldeinformationen.Helfer Store oder $ git config -Global Anmeldeinformationen.Helfergeschäft 

Von jetzt an, Git wird Anmeldeinformationen an die schreiben ~/.Git-Credentials Datei für jeden URL -Kontext, wenn er zum ersten Mal zugegriffen wird. Um den Inhalt dieser Datei anzuzeigen, können Sie den CAT -Befehl wie gezeigt verwenden.

$ cat ~/.Git-Credentials 
View Saved Git -Anmeldeinformationen auf der Festplatte

Für nachfolgende Befehle für denselben URL -Kontext liest Git Ihre Benutzeranmeldeinformationen aus der obigen Datei.

Genau wie bei der vorherigen Methode über diese Art, Benutzeranmeldeinformationen an weiterzugeben Git ist ebenfalls unsicher, da die Speicherdatei unverschlüsselt ist und nur durch Standard -Dateisystemberechtigungen geschützt ist.

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

Caching Remote Git Repository Benutzername und Kennwort im Speicher

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

$ git config Anmeldeinformationen.Helfer -Cache oder $ git config -Global Anmeldeinformationen.Helfer -Cache 

Nachdem Sie den obigen Befehl ausgeführt haben, fragt Git, wenn Sie zum ersten Mal versuchen, auf ein Private -Repository auf ein Remote -Repository zuzugreifen.

Cache -Git -Anmeldeinformationen im Speicher

Die Standard -Caching -Zeit ist 900 Sekunden (oder 15 Minuten), danach fordert Git Sie auf, 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 Anmeldeinformationen.Helfer 'Cache -Timeout = 18000' oder $ Git config -Global Anmeldeinformationen.Helfer 'Cache -Timeout = 36000' 

Weitere Informationen zu Git und Helfer für Anmeldeinformationen, sehen Sie ihre Mannseiten an.

$ MAN GIT $ MAN GIT-Credential-Cache $ Man Git-Credential Store 

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