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

Index
  1. Was sind SSH-Schlüssel?
  2. Generieren von SSH-Schlüsseln für Github
  3. Hinzufügen von SSH-Schlüsseln zu Github
  4. SSH-Schlüssel verwalten
  5. Vorhandene SSH-Schlüssel ändern
  6. Entfernen von SSH-Schlüsseln von Github

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.

Notiz: Neu bei Git? Lernen Sie jetzt von unserem Leitfaden „Erste Schritte“.

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.

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.

Gut zu wissen: Erfahren Sie mehr über die Public-Key-Kryptographie und wie sie Ihre Online-Identität schützen kann, indem Sie GNU Kleopatra unter Linux installieren.

Generieren von SSH-Schlüsseln für Github

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

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

sudo apt install ssh eval `ssh-agent -s`

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

ssh-keygen -t ed25519 -C „ramces@email.invalid“

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

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.

Notiz: Sie können die Passwortabfrage auch leer lassen, wenn Sie einen passwortlosen SSH-Schlüssel erstellen möchten.

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

ssh-add ~/.ssh/id_ed25519

Gut zu wissen: Wenn Sie neu bei Github sind, finden Sie einige der besten Apps heraus, die Sie Ihrem Github-Repository hinzufügen sollten.

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:

cat ~/.ssh/id_ed25519.pub

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

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

Klicken Sie oben rechts auf der Seite auf Ihr Profilsymbol.

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

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

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

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 Strg + V, um Ihren SSH-Schlüssel einzufügen.

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

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

Geben Sie „Ja“ ein und drücken Sie dann die Eingabetaste.

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.

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:

sudo apt install ssh eval `ssh-agent -s`

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

ssh-keygen -t ed25519 -f ~/.ssh/id-ed25519-pc2 -C "ramces@email.invalid"

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

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

ssh-add ~/.ssh/id-ed25519-pc2

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

cat ~/.ssh/id-ed-25519-pc2

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.

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:

Vorhandene SSH-Schlüssel ändern

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 unter Linux bereits SSH-Schlüssel als passwortlose Anmeldung 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 Ihrem SSH-Schlüssel aus. Dadurch können Sie das Passwort für einen vorhandenen privaten Schlüssel ändern:

ssh-keygen -p -o -f ./id-ed25519

Notiz: Sie können diese Flags auch verwenden, um einen regulären SSH-Schlüssel in einen kennwortlosen Schlüssel umzuwandeln.

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

ssh-keygen -c -C "ramces@new-email.invalid" -f ./id-ed25519

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

ssh-add ~/.ssh/id-ed25519

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

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:

ssh-add -d ~/.ssh/id-ed25519

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“.

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

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:

Die Verknüpfung 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.

In der Zwischenzeit können Sie auch mehr über die automatische Repository-Verwaltung mithilfe von Git-Hooks erfahren.

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

Go up