So sichern Sie den Github-Zugriff mit einem SSH-Schlüssel

So sichern Sie den Github-Zugriff mit einem SSH-Schlüssel
Ein Foto des Github-Maskottchens vor der Github-Webseite.

Das Verknüpfen eines SSH-Schlüssels mit Github ist einer der wichtigsten Schritte beim Sichern Ihres Kontos. Damit können Sie die Leistungsfähigkeit der Public-Key-Kryptografie nutzen, um Ihre Git-Repositorys zu schützen. In diesem Artikel erfahren Sie, was SSH-Schlüssel sind und wie Sie sie zur Absicherung Ihres Github-Kontos verwenden können.

Was sind SSH-Schlüssel?

Im Wesentlichen handelt es sich bei SSH-Schlüsseln um öffentliche Schlüssel, die Sie auf einem Remote-Server speichern. Diese fungieren als Authentifizierungs-Proxy, der es Ihnen ermöglicht, eine Verbindung zu Maschinen herzustellen und mit ihnen zu interagieren, ohne einen Benutzernamen und ein Passwort anzugeben.

Ein Terminal, das einen beispielhaften öffentlichen SSH-Schlüssel zeigt.

Die Funktionsweise besteht darin, dass Ihr lokaler Computer jedes Mal, wenn Sie über SSH eine Verbindung zu einem Computer herstellen, eine mit Ihrem privaten SSH-Schlüssel signierte Nachricht sendet. Der Remote-Computer verwendet dann Ihren öffentlichen SSH-Schlüssel, um die Authentizität der Nachricht zu überprüfen und Sie anzumelden.

Github verwendet den gleichen Ansatz, um Ihre Identität auf seinen Servern zu überprüfen. Die Website verwendet Ihren öffentlichen Schlüssel, wann immer Sie Ihr Repository hochladen und ändern. Dadurch wird sichergestellt, dass Sie Ihre Github-Anmeldeinformationen beim Pushen von Commits nicht preisgeben.

Generieren von SSH-Schlüsseln für Github

Öffnen Sie zunächst eine neue Terminalsitzung mit dem Anwendungsstarter Ihrer Distribution.

Stellen Sie sicher, dass Sie OpenSSH auf Ihrem Computer installiert haben und der SSH-Agent-Daemon derzeit ausgeführt wird:

Führen Sie den folgenden Befehl aus, um den SSH-Schlüsselgenerierungsassistenten zu starten:

Der Assistent fragt Sie dann, ob Sie einen benutzerdefinierten SSH-Schlüsseldateinamen für Ihren Schlüssel verwenden möchten. Drücken Sie Enter, um den Standardnamen und den Standardort zu übernehmen.

Ein Terminal, das die Dateispeicherortaufforderung für einen neuen SSH-Schlüssel anzeigt.

Geben Sie ein Passwort für Ihren neuen SSH-Schlüssel ein. Dies dient als Passphrase Ihres lokalen Computers, wenn dieser eine Verbindung zu Ihrem Github-Konto herstellt.

Ein Terminal, das die Passwortabfrage für einen neuen SSH-Schlüssel anzeigt.

Fügen Sie Ihren neu generierten SSH-Schlüssel zu Ihrem aktuell ausgeführten SSH-Agenten hinzu:

Hinzufügen von SSH-Schlüsseln zu Github

Wenn Ihr neuer SSH-Schlüssel eingerichtet ist, können Sie jetzt Ihren lokalen Computer mit Ihrem Github-Konto verknüpfen. Führen Sie zunächst den folgenden Befehl aus, um Ihren öffentlichen SSH-Schlüssel zu drucken:

Markieren Sie Ihren öffentlichen SSH-Schlüssel, drücken Sie die rechte Maustaste und wählen Sie dann „Kopieren“.

Ein Terminal, das in seiner Kontextmenü-Eingabeaufforderung die Option „Kopieren“ anzeigt.

Öffnen Sie eine neue Browsersitzung und navigieren Sie dann zu Ihrer Github-Homepage.

Klicken Sie oben rechts auf der Seite auf Ihr Profilsymbol.

Ein Screenshot der Standard-Github-Homepage.

Klicken Sie in der Dropdown-Liste auf „Einstellungen“.

Ein Screenshot, der die Option „Einstellungen“ im Github-Profilmenü hervorhebt.

Wählen Sie „SSH- und GPG-Schlüssel“ in der linken Seitenleiste der Einstellungsseite.

Ein Screenshot, der die Option „SSH- und GPG-Schlüssel“ im Github-Einstellungsmenü hervorhebt.

Klicken Sie auf die Schaltfläche „Neuer SSH-Schlüssel“ neben der Überschrift „SSH-Schlüssel“.

Ein Screenshot, der die Schaltfläche „Neuer SSH-Schlüssel“ auf der Seite „SSH- und GPG-Schlüssel“ hervorhebt.

Wählen Sie das Textfeld „Titel“ aus und geben Sie dann einen Namen für Ihren Schlüssel ein.

Klicken Sie auf das Textfeld „Schlüssel“ und drücken Sie dann Ctrl + V, um Ihren SSH-Schlüssel einzufügen.

Klicken Sie auf „SSH-Schlüssel hinzufügen“, um Ihre neuen Einstellungen zu übernehmen.

Secure Github Access SSH Key 09 Schaltfläche „SSH-Schlüssel hinzufügen“.

Öffnen Sie eine neue Terminalsitzung und führen Sie den folgenden Befehl aus:

Geben Sie „yes“ ein und drücken Sie dann Enter.

Ein Terminal, das die Aufforderung zum Vertrauen des SSH-Fingerabdrucks hervorhebt.

Dadurch wird eine neue SSH-Sitzung mit einem der Empfangsserver von Github gestartet. Wenn Ihr Schlüssel ordnungsgemäß funktioniert, wird eine kurze Nachricht zur Bestätigung Ihrer SSH-Verbindung gedruckt.

Ein Terminal, das die kurze Bestätigungsnachricht von Github hervorhebt.

SSH-Schlüssel verwalten

Während für die meisten Benutzer ein einzelner SSH-Schlüssel ausreicht, gibt es Fälle, in denen Sie ein Git-Repository synchronisieren müssen, das auf mehreren Computern gehostet wird. Dazu müssen Sie maschinenspezifische SSH-Schlüssel importieren.

Öffnen Sie eine neue Terminalsitzung auf dem Computer, den Sie mit Github verknüpfen möchten.

Stellen Sie sicher, dass der OpenSSH-Daemon im System installiert ist und ausgeführt wird:

Führen Sie den folgenden Befehl aus, um einen eindeutigen SSH-Schlüssel für Ihren neuen Computer zu erstellen:

Geben Sie eine sichere Passphrase für Ihren neuen SSH-Schlüssel ein und drücken Sie dann Enter.

Fügen Sie Ihren neuen Alternativschlüssel zu Ihrem SSH-Agenten hinzu:

Drucken Sie den Inhalt Ihres öffentlichen SSH-Schlüssels aus und kopieren Sie ihn dann in die Zwischenablage Ihres Systems:

Gehen Sie zurück zur Seite „SSH- und GPG-Schlüssel“ Ihres Github-Kontos.

Klicken Sie erneut auf die Schaltfläche „Neuer SSH-Schlüssel“.

Geben Sie eine eindeutige Bezeichnung für Ihren neuen Schlüssel ein und fügen Sie dann den Inhalt Ihrer Zwischenablage in das Textfeld „Schlüssel“ ein.

Ein Screenshot, der einen neuen alternativen Schlüssel in Github zeigt.

Klicken Sie auf „SSH-Schlüssel hinzufügen“, um Ihre neuen Einstellungen zu übernehmen.

Testen Sie, ob Ihr neuer Computer Ihren sicheren Schlüssel verwendet, um eine Verbindung zu Github herzustellen, indem Sie sich über SSH anmelden:

Neben dem Senden neu generierter Schlüssel an Github können Sie auch vorhandene SSH-Schlüssel ändern, die sich bereits auf Ihrem Computer befinden. Dies kann nützlich sein, wenn Sie bereits SSH-Schlüssel als passwortlose Anmeldung unter Linux verwenden.

Um einen vorhandenen Schlüssel zu ändern, navigieren Sie zum Verzeichnis „.ssh“ Ihres Computers:

Führen Sie ssh-keygen mit den Flags -p, -o und -f zusammen mit Ihren aus SSH-Schlüssel. Dadurch können Sie das Passwort für einen vorhandenen privaten Schlüssel ändern:

Sie können auch die eingebettete E-Mail-Adresse in Ihrem öffentlichen Schlüssel ändern, indem Sie das Flag -c verwenden:

Laden Sie Ihren SSH-Agenten mit Ihrem neu aktualisierten Schlüssel neu:

Ersetzen Sie den entsprechenden öffentlichen SSH-Schlüssel aus Ihrem Github-Profil.

Ein Screenshot, der den neu geänderten SSH-Schlüssel in Github zeigt.

Entfernen von SSH-Schlüsseln von Github

Öffnen Sie eine neue Terminalsitzung und starten Sie dann den SSH-Agent-Daemon:

Führen Sie den folgenden Befehl aus, um den privaten SSH-Schlüssel auf Ihrem Computer zu löschen:

Gehen Sie zurück zur Kategorie „SSH- und GPG-Schlüssel“ Ihres Github-Kontos.

Scrollen Sie durch die Liste der SSH-Schlüssel auf dieser Seite und klicken Sie dann bei dem Schlüssel, den Sie entfernen möchten, auf „Löschen“.

Ein Screenshot, der die Schaltfläche „Löschen“ für den neu geänderten SSH-Schlüssel hervorhebt.

Klicken Sie auf „Ich verstehe, löschen Sie diesen SSH-Schlüssel.“

Ein Screenshot, der die letzte Bestätigungsaufforderung zum Löschen eines SSH-Schlüssels hervorhebt.

Stellen Sie sicher, dass Ihr alter SSH-Schlüssel jetzt nicht mehr gültig ist, indem Sie eine SSH-Sitzung mit einem der Github-Server starten:

Das Verknüpfen eines SSH-Schlüssels zur Sicherung Ihres Github-Kontos ist nur der erste Schritt, um zu verstehen, wie Public-Key-Kryptografie und -Verschlüsselung funktionieren. Erfahren Sie mehr über die Verschlüsselung ruhender Daten, indem Sie mit Rclone ein verschlüsseltes Cloud-Backup erstellen.

Mittlerweile können Sie auch mehr über die automatische Repository-Verwaltung erfahren, indem Sie Git-Hooks verwenden.

Bildnachweis: Roman Synkevych über Unsplash. Alle Änderungen und Screenshots von Ramces Red.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert