Wie konfiguriere ich Git, um SSH anstelle von HTTPS für entfernte Repositories zu verwenden?

In diesem Artikel erklären wir, wie Sie Git so konfigurieren, dass es SSH anstelle von HTTPS für entfernte Repositories verwendet. Die Verwendung von SSH ist besonders nützlich, wenn Sie eine sicherere und bequemere Möglichkeit suchen, mit Git-Repositories zu arbeiten, ohne jedes Mal Ihr Passwort eingeben zu müssen.

Warum sollte man SSH anstelle von HTTPS verwenden?

Git bietet zwei Hauptmethoden zur Authentifizierung bei entfernten Repositories: HTTPS und SSH. Beide haben ihre Vor- und Nachteile, aber SSH hat mehrere Vorteile, die es zur bevorzugten Methode machen, insbesondere wenn es um Sicherheit und Komfort geht.

  • Sicherheit: SSH-Schlüssel bieten eine sicherere Authentifizierung als HTTPS, da sie nicht leicht durch Phishing oder Passwortangriffe kompromittiert werden können.
  • Bequemlichkeit: Bei Verwendung von SSH müssen Sie Ihr Passwort nicht bei jedem Push oder Pull eingeben, was den Arbeitsablauf erheblich vereinfacht.
  • Automatisierung: SSH eignet sich hervorragend für automatisierte Skripte, da keine Benutzerinteraktion erforderlich ist.

In den folgenden Abschnitten erfahren Sie, wie Sie Git so konfigurieren, dass es SSH für entfernte Repositories verwendet.

Schritt 1: SSH-Schlüssel erstellen

Bevor Sie Git mit SSH konfigurieren können, müssen Sie sicherstellen, dass Sie einen SSH-Schlüssel auf Ihrem System haben. Falls noch kein Schlüssel vorhanden ist, können Sie einen neuen SSH-Schlüssel erstellen.

  1. Öffnen Sie das Terminal (oder Git Bash, wenn Sie Windows verwenden).
  2. Führen Sie den folgenden Befehl aus, um einen neuen SSH-Schlüssel zu generieren:
  3. ssh-keygen -t rsa -b 4096 -C "your_email@example.com"
  4. Drücken Sie Enter, um den Standardspeicherort für den Schlüssel zu bestätigen, oder geben Sie einen benutzerdefinierten Speicherort ein.
  5. Geben Sie ein sicheres Passwort ein, wenn Sie dazu aufgefordert werden.
  6. Der SSH-Schlüssel wird nun unter dem Standardpfad ~/.ssh/id_rsa gespeichert.

Nachdem der SSH-Schlüssel erstellt wurde, müssen Sie den öffentlichen Schlüssel zu Ihrem Git-Hosting-Dienst (z. B. GitHub, GitLab, Bitbucket) hinzufügen.

Schritt 2: SSH-Schlüssel zu Ihrem Git-Hosting-Konto hinzufügen

Jeder Git-Hosting-Dienst hat einen leicht unterschiedlichen Prozess zum Hinzufügen von SSH-Schlüsseln, aber im Allgemeinen sind die Schritte ähnlich:

  • Rufen Sie Ihr Git-Hosting-Konto auf (z. B. GitHub oder GitLab) und gehen Sie zu den SSH-Schlüssel-Einstellungen.
  • Kopieren Sie den Inhalt des öffentlichen SSH-Schlüssels. Dies können Sie mit dem folgenden Befehl tun:
  • cat ~/.ssh/id_rsa.pub
  • Fügen Sie den Schlüssel in das entsprechende Feld auf der Website Ihres Git-Hosting-Anbieters ein.
  • Speichern Sie den Schlüssel.

Nun ist Ihr SSH-Schlüssel zu Ihrem Konto hinzugefügt, und Sie können ihn verwenden, um sich mit Git-Repositorys zu authentifizieren.

Schritt 3: Git auf SSH umstellen

Nachdem Sie den SSH-Schlüssel erstellt und zu Ihrem Git-Hosting-Konto hinzugefügt haben, müssen Sie Git so konfigurieren, dass es SSH für die Verbindung zu entfernten Repositories verwendet.

  1. Öffnen Sie das Terminal und navigieren Sie zu Ihrem lokalen Git-Repository.
  2. Ändern Sie die URL des entfernten Repositorys, um das https:// durch ssh:// zu ersetzen. Dies können Sie mit dem folgenden Befehl tun:
  3. git remote set-url origin git@github.com:Benutzername/Repository.git
  4. Ersetzen Sie Benutzername durch Ihren GitHub-Benutzernamen und Repository durch den Namen des Repositorys.
  5. Überprüfen Sie, ob die Änderung erfolgreich war, indem Sie den folgenden Befehl ausführen:
  6. git remote -v

    Dieser Befehl zeigt Ihnen die aktuelle URL des entfernten Repositorys an. Stellen Sie sicher, dass sie im SSH-Format (z. B. git@github.com:Benutzername/Repository.git) vorliegt.

Schritt 4: SSH-Verbindung testen

Es ist eine gute Idee, die SSH-Verbindung zu testen, um sicherzustellen, dass alles richtig funktioniert. Führen Sie dazu den folgenden Befehl aus:

ssh -T git@github.com

Wenn alles korrekt eingerichtet ist, sollten Sie eine Nachricht wie die folgende erhalten:

Hi Benutzername! You've successfully authenticated, but GitHub does not provide shell access.

Dies bedeutet, dass die SSH-Verbindung erfolgreich hergestellt wurde und Sie nun mit Git über SSH arbeiten können.

Fazit

Die Verwendung von SSH anstelle von HTTPS für Git-Repositorys bietet viele Vorteile, darunter erhöhte Sicherheit und eine einfachere Handhabung bei wiederholten Push- und Pull-Operationen. In diesem Artikel haben wir Schritt für Schritt erklärt, wie Sie SSH mit Git einrichten. Indem Sie SSH statt HTTPS verwenden, verbessern Sie nicht nur die Sicherheit Ihres Arbeitsablaufs, sondern auch die Effizienz Ihrer täglichen Git-Vorgänge.