Wie richte ich die passwortlose Authentifizierung für das private GitHub-Repository ein?

Die Wiederholung derselben Aufgabe ist für Programmierer wie uns langweilig und schmerzhaft. Ist es nicht?

Eine dieser Aufgaben ist interaktiv mit dem privaten Repository von GitHub. Was ist damit? Sie wissen was es ist. Und Sie suchen nach Möglichkeiten, es zu lösen, und sind auf diesem Artikel gelandet. Sie werden aufhören zu suchen, nachdem Sie diesen Artikel gelesen haben.

Hier werden wir also über den Zugriff auf das private GitHub-Repository ohne Passwort sprechen. Fangen wir ohne weiteres an.

Es gibt zwei Möglichkeiten, auf ein beliebiges GitHub-Repository zuzugreifen. Sie sind HTTPS und SSH. Die meisten von Ihnen verwenden HTTPS. Aber jetzt wissen Sie, dass es keine effiziente Methode ist, die HTTPS-Methode zum Klonen der privaten Repositories zu verwenden.

Der Zugriff umfasst Klonen, Pushen, Pullen usw.; alles, was mit der Aktualisierung unseres Repositorys in der Fernbedienung zusammenhängt.

Es gibt kein Problem, wenn es um den Zugriff auf die öffentlichen Repositories geht. Wir müssen uns jedoch beim Zugriff auf ein privates Repository authentifizieren. Es gibt verschiedene Möglichkeiten, uns zu authentifizieren.

Beginnen wir mit dem Bekanntesten…

Bei Verwendung von HTTPS

Sie sollten wahrscheinlich über die HTTPS-Methode Bescheid wissen und nach anderen suchen. Lassen Sie uns schnell sehen, wie Sie damit auf ein privates Repository zugreifen können.

  • Kopieren Sie Ihren privaten Repository-Link.

Privates GitHub-Repository

  • Öffnen Sie das Terminal oder cmd auf Ihrem Computer.
  • Fügen Sie den Befehl git clone link ein, um das private Repository zu klonen.
  • Ersetzen Sie den Link durch Ihren privaten Repository-Link.
  • Es fordert uns auf, uns zu authentifizieren. Wir müssen also unsere GitHub-Anmeldeinformationen eingeben.
  • Zuerst werden wir aufgefordert, unseren GitHub-Benutzernamen einzugeben. Geben Sie Ihren GitHub-Benutzernamen ein und drücken Sie die Eingabetaste.

Authentifizierungs-Benutzername

  • Jetzt müssen wir das Passwort eingeben. Geben Sie Ihr GitHub-Passwort ein und drücken Sie die Eingabetaste.

Authentifizierungskennwort

Das ist es; Wir haben das private Repository mit der HTTPS-Methode geklont. Aktualisieren Sie jetzt etwas im Repository, übergeben Sie es und schieben Sie es auf Remote.

Was haben Sie bemerkt?

Es wird erneut nach der Authentifizierung gefragt.

Push-Authentifizierung

Ist es nicht eine langweilige und schwere Aufgabe, jedes Mal, wenn wir mit dem privaten Repository interagieren, Anmeldeinformationen einzugeben?

Ja, ist es.

Wir können unsere GitHub-Anmeldeinformationen nicht eingeben, wenn wir mit unserem privaten Repository interagieren. Es ist ein zeitraubender Prozess und verlangsamt unsere Arbeit.

Es gibt verschiedene Möglichkeiten, das oben genannte Problem zu beseitigen. Der beste Weg, dies zu tun, ist die Verwendung von SSH. Aber es gibt andere Möglichkeiten, dies zu tun. Schauen wir uns alle einzeln an.

.git-Konfiguration

Alle Informationen zu unseren Repositories-Versionen werden im .git-Verzeichnis gespeichert. Es ist ein versteckter Ordner. Darin befindet sich eine Konfigurationsdatei, mit der wir die Einstellungen konfigurieren können. Aber generell ist es nicht zu empfehlen.

Wir können ein privates Repository klonen, indem wir unseren Benutzernamen und unser Passwort wie folgt in die Repository-URL einfügen.

git clone https://<strong>username:password</strong>@github.com/<strong>username</strong>/<strong>repository_name</strong>.git

Aktualisieren Sie den Benutzernamen, das Kennwort und den Repository-Namen mit den entsprechenden Details. Da wir unsere Anmeldeinformationen in der URL angegeben haben, wird nicht nach einer Authentifizierung gefragt, wie wir zuvor gesehen haben.

  So nehmen Sie ohne Ton auf einem iPhone auf

Wir werden also die obige Authentifizierungsmethode befolgen und unsere Repository-Konfiguration entsprechend aktualisieren. Sehen wir uns die Schritte an, um die wiederholte Authentifizierung durch Aktualisieren der URL zu beseitigen.

  • Öffnen Sie den .git-Ordner in Ihrem geklonten Repository.

.git-Ordner

  • Sie finden eine Datei mit dem Namen config. Öffnen Sie es mit einem beliebigen Texteditor Ihrer Wahl.
  • Es wird eine Zeile mit unserem Repository-Link wie folgt geben.

Repository-Link in config

  • Aktualisieren Sie die URL, indem Sie Ihren Benutzernamen und Ihr Passwort hinzufügen, wie oben gezeigt.

Aktualisierung der Repository-URL

Aktualisieren Sie jetzt wieder etwas im Repository, übergeben Sie es und pushen Sie es.

Beobachten Sie etwas?

Diesmal hätte es nicht nach Ihren GitHub-Anmeldeinformationen fragen sollen. Wir haben unser Problem also gelöst, indem wir unsere Repository-Einstellung aktualisiert haben.

Sie haben vielleicht bemerkt, dass es nicht sicher ist. Während wir unsere Zeugnisse offenlegen. Und diese Methode funktioniert nicht, falls Ihr GitHub-Passwort @-Zeichen enthält.

Es gibt also einige kritische Nachteile bei der Verwendung dieser Methode. Ignorieren wir es daher und fahren mit der nächsten Methode fort.

Anmeldeinformationen.Helfer

Mit credential.helper können wir die Anmeldeinformationen für immer in der Datei ~/.git-credentials speichern.

Es speichert unsere Anmeldeinformationen, wenn wir sie zum ersten Mal eingeben. Wenn wir erneut versuchen, auf das private Repository zuzugreifen, werden keine Anmeldeinformationen angefordert, bis sie in der Datei ~/git-credentials gespeichert sind. Das ist also eine der Möglichkeiten, unser Problem zu vermeiden. Lassen Sie uns es in Aktion mit präzisen Schritten sehen.

  • Zuerst müssen wir die Option zum Speichern unserer Anmeldeinformationen mit dem Befehl git config credential.helper store aktivieren.
  • Versuchen Sie nach Aktivierung der Option, mit Ihrem Benutzernamen und Passwort auf das private Repository zuzugreifen.
  • Sobald Sie Ihren Benutzernamen und Ihr Passwort eingegeben haben, wird es wie folgt in der Datei ~/.git-credentials mit Ihren GitHub-Anmeldeinformationen gespeichert.

git-Anmeldeinformationen

Jetzt noch einmal der gleiche Vorgang, um zu überprüfen, ob es richtig funktioniert oder nicht. Aktualisieren, festschreiben und pushen. Ich bin sicher, dass Sie nicht nach den Anmeldeinformationen gefragt werden, wenn Sie die obigen Schritte zum Speichern Ihrer Anmeldeinformationen befolgt haben.

Geht gut…

Was ist, wenn Sie die Anmeldeinformationen für 4 Stunden statt für immer speichern möchten?

Der credential.helper bietet eine Möglichkeit, unsere Anmeldeinformationen vorübergehend für eine bestimmte Zeit zu speichern. Wir verwenden Cache anstelle von Store, um die Anmeldeinformationen für eine bestimmte Zeit zu speichern.

Der Cache speichert unsere Anmeldeinformationen standardmäßig 15 Minuten lang. Nach 15 Minuten fragt der Git erneut nach Anmeldeinformationen. Aber wir können die Standardzeit mit dem folgenden Befehl ändern.

git config credential.helper 'cache --timeout={time_in_seconds}'

Vergessen Sie nicht, die Zeit in Sekunden anzugeben. Sehen wir es uns in Aktion an.

  • Zuerst müssen wir die Option zum Zwischenspeichern unserer Anmeldeinformationen mit dem Befehl git config credential.helper cache aktivieren.
  • Greifen Sie mit Ihrem Benutzernamen und Passwort auf das private Repository zu.
  • Sobald Sie Ihren Benutzernamen und Ihr Passwort eingegeben haben, werden Ihre GitHub-Anmeldeinformationen für eine bestimmte Zeit zwischengespeichert.
  So nehmen Sie Sprachnotizen schnell auf dem iPhone oder iPad auf

Jetzt aktualisieren, festschreiben und pushen. Auch hier wird es nicht nach Ihren Anmeldeinformationen fragen, wie wir es gesagt haben, um sie zwischenzuspeichern.

Wir haben Ihnen die Befehle gezeigt, um ein mit Git initialisiertes Repository zu bearbeiten. Wir können die Git-Konfiguration global für alle Projekte aktualisieren, indem wir das Flag –global in den obigen Befehlen hinzufügen.

Persönliche Zugriffstoken

Die persönlichen Zugriffstoken werden verwendet, um Zugriff auf die GitHub-API zu gewähren. Die persönlichen Zugriffstoken sind wie OAuth-Token. Sie können also anstelle eines Passworts für Git für die grundlegende Authentifizierung verwendet werden. Daher können wir die persönlichen Zugriffstoken verwenden, um unser Problem zu lösen.

Mal sehen, wie es geht.

  • Melden Sie sich bei Ihrem GitHub-Konto an.
  • Gehen Sie zu den Einstellungen.

GitHub-Einstellungen

  • Gehen Sie nun in der linken Navigationsleiste zu den Entwicklungseinstellungen.

GitHub-Entwicklereinstellungen

  • Klicken Sie auf die persönlichen Zugangstoken, um unser endgültiges Ziel zu erreichen. Sie sehen die persönlichen Zugriffstoken wie folgt.

Persönliche GitHub-Zugriffstoken

  • Klicken Sie auf Neues Token generieren, um ein neues zu generieren.

Neues Token generieren

  • Geben Sie die Notiz für das Token ein. Sie können es sich als kurze Notizen vorstellen, an die sich das Token erinnern soll.

Persönliches Zugriffstoken Hinweis

  • Wählen Sie die Berechtigungen für das Token aus. Die Programme, die das Token verwenden, gewähren Zugriff auf alle ausgewählten Berechtigungen. Wählen Sie in unserem Fall das Repo aus.

Repository-Berechtigungen

  • Scrollen Sie nach unten und klicken Sie auf die Schaltfläche Token generieren.

Token-Button generieren

  • Das persönliche Zugriffstoken wird nur einmal wie folgt angezeigt. Wir können unseren persönlichen Token nicht mehr sehen. Kopieren Sie es also und speichern Sie es an einem sicheren Ort. Verwenden Sie bei Bedarf einen Passwort-Manager.

Persönliches Zugriffstoken

  • Wir haben das persönliche Zugriffstoken erfolgreich erstellt.
  • Jetzt ist es an der Zeit, damit auf unser privates Repository zuzugreifen.
  • Aktualisieren Sie die Repository-URL in der Datei .git/config als https://{personal_access_token}@github.com/hafeezulkareem/private_repository.git, ähnlich wie bei der ersten Methode.

Persönliches Zugriffstoken in config

Versuchen Sie nun, auf das private Repository zuzugreifen.

Hat es Sie nach der Authentifizierung gefragt?

Nein, es wird Sie nicht nach der Authentifizierung fragen, bis das Token aktiv ist. Kommen wir zum letzten Weg, um unser Problem zu lösen.

SSH

SSH wird verwendet, um uns zu authentifizieren. Das vollständige Dokument zu SSH finden Sie auf GitHub hier.

Die Idee ist einfach. Generieren Sie einen SSH-Schlüssel, fügen Sie ihn dem GitHub-Konto hinzu und genießen Sie die passwortlose Authentifizierung.

Sehen wir uns diese drei Schritte im Detail an.

  • Öffnen Sie Terminal oder cmd in Ihrem System.
  • Geben Sie den Befehl ssh-keygen -t rsa ein, um einen neuen SSH-Schlüssel zu generieren.
  • Es wird nach dem Verzeichnis gefragt, um den Schlüssel zu speichern. Drücken Sie die Eingabetaste, um das Standardverzeichnis auszuwählen. Sie können das Verzeichnis aber auch nach Ihren Wünschen ändern. Hier gehen wir mit dem Standardverzeichnis.
  Die 27 besten kostenlosen Website-Hosting-Dienste

SSH-Verzeichnis

  • Jetzt müssen wir die Passphrase eingeben, um unseren SSH-Schlüssel zu schützen. Aber es ist optional.
    • Wenn wir eine Passphrase für den SSH-Schlüssel wählen, müssen wir sie zuerst eingeben, wenn wir unser System einschalten.
    • Wenn wir die Passphrase nicht ausgewählt haben, müssen Sie sie nicht zuerst eingeben.

SSH-Passphrase

  • Geben Sie die Passphrase erneut ein, um sie zu bestätigen.

SSH-Passphrase

  • Schließlich wird wie folgt ein neuer SSH-Schlüssel für uns generiert.

SSH-Schlüssel

Wir haben erfolgreich einen neuen SSH-Schlüssel in unseren Systemen generiert. Es werden zwei Dateien wie folgt erstellt (wenn Sie den Pfad geändert haben, können die Dateinamen variieren).

SSH-Schlüsseldateien

Jetzt ist es an der Zeit, sich mit unserem GitHub-Konto zu verbinden. Für die Verbindung müssen die Inhalte in der Datei mit der Endung .pub auf unseren GitHub-Account kopiert werden. In meinem Fall ist es id_rsa.pub.

  • Melden Sie sich bei Ihrem GitHub-Konto an.
  • Öffnen Sie die Einstellungen.

GitHub-Einstellungen

  • Klicken Sie auf SSH- und GPG-Schlüssel, um unser endgültiges Ziel zu erreichen.

SSH- und GPG-Schlüssel

  • Klicken Sie auf den neuen SSH-Schlüssel, um unseren neu generierten SSH-Schlüssel hinzuzufügen.

Neuer SSH-Schlüssel

  • Sie gelangen zum folgenden Bildschirm.

Neuer SSH-Schlüssel

  • Fügen Sie den entsprechenden Titel für den SSH-Schlüssel hinzu. Die SSH-Schlüssel sind für jedes System unterschiedlich. Wählen Sie also basierend darauf eine der guten Optionen. Aber es ist nicht die einzige Option. Sie können basierend auf anderen Dingen nach Ihren Vorlieben wählen.
  • Nachdem Sie den Titel ausgewählt haben, kopieren Sie den .pub-Inhalt und fügen Sie ihn in das zweite Feld ein.

Neuer SSH-Schlüssel

  • Drücken Sie abschließend den SSH-Schlüssel hinzufügen und bestätigen Sie den Zugriff mit Ihrem GitHub-Passwort.
  • Der neu hinzugefügte SSH-Schlüssel sieht wie folgt aus.

Neuer SSH-Schlüssel

Wir haben unseren neu generierten SSH-Schlüssel zu GitHub hinzugefügt. Jetzt müssen wir die SSH-Verbindung authentifizieren, um später von der passwortlosen Authentifizierung zu profitieren. Geben Sie dazu den folgenden Befehl im Terminal oder cmd ein.

ssh -T [email protected]

SSH-Verbindung

Es wird um Bestätigung gebeten. Bestätige es. Und das ist es, und wir sind fertig.

Klonen Sie jetzt Ihr privates Repository. Diesmal wird keine Authentifizierung verlangt.

Aktualisieren, festschreiben und pushen. Los geht’s. Sie werden nicht mehr nach der Authentifizierung gefragt. Genieß es.

Fazit

Puh! Wir haben verschiedene Methoden für den Zugriff auf private Repositories behandelt, ohne die ganze Zeit Anmeldeinformationen eingeben zu müssen. Sie können jede Methode verwenden. Die allgemeine und bewährte Methode besteht jedoch darin, die SSH-Methode zur Authentifizierung zu verwenden.

Auch hier liegt es an Ihrer Präferenz; Es gibt keine strenge Regel, die einzige SSH-Methode zu verwenden. Die meisten Unternehmen verwenden jedoch die SSH-Methode zur Authentifizierung, die sicher ist und viel Zeit spart. Und stellen Sie sicher, dass Ihre Anmeldeinformationen sicher sind.

Viel Spaß beim Entwickeln 🙂