GitHub SSH (Secure Shell) erleichtert das Pushen von Änderungen an das GitHub-Remote-Repository eines Benutzers. Dies bedeutet, dass Sie SSH mit der Plattform verwenden können, um dem System bei automatisierten Prozessen eine zusätzliche Sicherheitsebene hinzuzufügen.
Der größte Vorteil hierbei: Sie müssen sich keine zusätzlichen Passwörter merken, um auf das System zuzugreifen.
Um es noch einmal zu wiederholen: Ein SSH-Protokoll ermöglicht Ihnen die sichere Verbindung zu Remote-Servern, ohne dass Sie bei jedem Zugriff manuell einen Benutzernamen und ein Kennwort eingeben müssen.
Bevor Sie diesen Vorteil nutzen können, benötigen Sie jedoch ein github ssh key. In diesem Artikel werden SSH-Schlüssel ausführlicher behandelt und die Schritte zum Erstellen eines Schlüssels und zum Hinzufügen zu Ihrem GitHub-Konto beschrieben.
Was ist GitHub?
GitHub ist ein Unternehmen, das einen Cloud-basierten Git-Repository-Hosting-Dienst anbietet, der die Verwendung von Git für die Versionskontrolle und Zusammenarbeit vereinfachen soll. Einer der größten Vorteile der Plattform ist ihre benutzerfreundliche Oberfläche, die es selbst Amateurprogrammierern ermöglicht, Git voll auszunutzen.
Ohne GitHub wäre Git viel komplizierter und würde mehr technisches Know-how und die Verwendung der Befehlszeile erfordern.
Git ist ein aktiv gepflegtes, ausgereiftes Open-Source-Projekt, das 2005 von Linus Torvalds, dem berühmten Entwickler des Linux-Betriebssystemkernels, entwickelt wurde. Git ist ein Beispiel für ein verteiltes Versionskontrollsystem (Distributed Version Control System, DVCS). Anstatt einen einzigen Ort für den vollständigen Versionsverlauf der Software zu haben (was bei veralteten Versionskontrollsystemen wie CVS und Subversion üblich ist), stellt Git jedem Entwickler eine Arbeitskopie des Codes (auch als Repository bezeichnet) zur Verfügung, die den vollständigen Verlauf aller vorgenommenen Änderungen enthält.
Zahlreiche Softwareprojekte verlassen sich bei der Versionskontrolle auf Git, darunter auch kommerzielle Projekte und natürlich Open-Source-Projekte. Innerhalb von Git können Sie mit der Versionskontrolle alle am Code vorgenommenen Änderungen verfolgen und jedem Teammitglied die Möglichkeit geben, weiterhin an der neuesten Version zu arbeiten. Die Verwendung eines Softwaretools zur Versionskontrolle für sämtlichen Code, alle Dateien und Assets erleichtert mehreren Teammitgliedern die Zusammenarbeit an großen Projekten.
In der Praxis hilft Ihnen die Versionskontrolle dabei:
- Verbessert die Sichtbarkeit
- Erleichtert die Zusammenarbeit zwischen Teammitgliedern auf der ganzen Welt
- Beschleunigt die Produktivitätssteigerung
Was ist überhaupt ein github ssh key?
Ein SSH-Schlüssel ist eine Zugangsberechtigung für das authentifizierte und verschlüsselte Secure Shell (SSH)-Netzwerkprotokoll, das für die Remote-Kommunikation zwischen Maschinen in einem ungesicherten offenen Netzwerk verwendet wird. Dieser Schlüssel wird für die Remote-Dateiübertragung, den Remote-Zugriff auf das Betriebssystem und die effektive Netzwerkverwaltung verwendet.
Im Wesentlichen ist der SSH-Schlüssel wie ein echter Schlüssel, den nur ein bestimmter Benutzer besitzt.
Mit einem SSH-Schlüssel können Sie bequem und sicher auf Ihre Konten zugreifen. Dank des Schlüssels müssen Sie sich keine langen Passwörter merken. Dies gibt Ihnen die Flexibilität, komplizierte Passwörter zu wählen, die kein Mensch oder Bot erraten kann, ohne sie sich selbst merken zu müssen!
So funktioniert die Einrichtung eines SSH-Schlüssels
Wenn Sie mit einem GitHub-Repository arbeiten, müssen Sie sich bei GitHub mit Ihrem Benutzernamen und Passwort identifizieren. Ein SSH-Schlüssel ist eine alternative Methode, mit der Sie sich identifizieren können, ohne bei jedem Zugriff Ihre Anmeldeinformationen verwenden zu müssen.
github ssh key gibt es paarweise: einen öffentlichen und einen privaten Schlüssel. Während der öffentliche Schlüssel mit Diensten wie GitHub geteilt wird, wird der private Schlüssel ausschließlich auf Ihrem Computer gespeichert. Sie erhalten nur dann Zugriff, wenn beide Schlüssel übereinstimmen. Die Kryptografie hinter SSH-Schlüsseln stellt sicher, dass niemand Ihren privaten Schlüssel aus dem öffentlichen Schlüssel zurückentwickeln kann, und gewährleistet so ein beispielloses Maß an Sicherheit.
Wie erstelle ich einen SSH-Schlüssel?
SSH-Schlüssel werden durch einen kryptografischen Public-Key-Algorithmus wie DSA und RSA generiert.
Diese Schlüssel werden durch eine mathematische Formel generiert, die zwei Primzahlen und eine zufällige Seed-Variable verwendet, um den öffentlichen und den privaten Schlüssel auf hohem Niveau auszugeben. Das Ganze ist eine Einwegformel, die sicherstellt, dass der öffentliche Schlüssel zwar vom privaten Schlüssel abgeleitet werden kann, der private Schlüssel jedoch nicht vom öffentlichen Schlüssel.
Um einen github ssh key zu erstellen, benötigen Sie ein Tool zur Schlüsselgenerierung. Die SSH-Befehlszeilen-Toolsuite enthält ein Keygen-Tool, sodass Sie dieses jederzeit verwenden können. Sie müssen den Schlüssel zuerst auf Ihrem Computer erstellen. Wenn Sie jedoch bereits einen SSH-Schlüssel haben, können Sie die folgenden Schritte überspringen. So gehen Sie vor:
Führen Sie den folgenden Befehl aus, um zu überprüfen, ob Sie einen Schlüssel haben:
$ cd ~/.ssh
$ ls
Wenn Sie id_rsa.pub sehen, haben Sie bereits ein Schlüsselpaar und müssen kein neues erstellen.
Wenn Sie den Schlüssel nicht haben, führen Sie die folgenden Schritte aus, um einen zu erstellen und dessen Inhalt zu kopieren. Denken Sie daran, dass Sie hierfür die Standard-Terminalanwendung Ihres Computers öffnen müssen.
A. Erstellen eines SSH-Schlüssels unter Windows
Hier finden Sie eine Schritt-für-Schritt-Anleitung zum Erstellen von SSH-Schlüsseln auf Ihren Windows-Geräten.
Schritt 1: Melden Sie sich als Administrator bei Ihrem PC an.
Schritt 2: Führen Sie Folgendes in einem Eingabeaufforderungsbefehl aus:
ssh-keygen -t ed25519 -C „Ihre_E-Mail@beispiel.com“
Falls es nicht klar war, müssen Sie Ihre E-Mail-Adresse eingeben. Wenn Sie den Schlüssel mit Ihrer E-Mail-Adresse verknüpfen, können Sie den Schlüssel in Zukunft leichter identifizieren.
Denken Sie daran, dass der Befehl „ssh-keygen“ nur verfügbar ist, wenn Sie Git bereits installiert haben (mit Git Bash).
Sie erhalten eine Antwort ähnlich der folgenden:
C:\Benutzer\ASUS>ssh-keygen -t ed25519 -C „Ihre_E-Mail@Beispiel.com“
Öffentliches/privates ed25519-Schlüsselpaar wird generiert.
Geben Sie die Datei ein, in der der Schlüssel gespeichert werden soll (/c/Benutzer/ASUS/.ssh/id_ed25519):
Schritt 3: Klicken Sie auf „Eingeben“ , um den Standardspeicherort und den Dateinamen zu akzeptieren. Wenn das Verzeichnis d.ssh nicht vorhanden ist, erstellt das System automatisch eines für Sie.
Drücken Sie zweimal die Eingabetaste und geben Sie dann bei entsprechender Aufforderung eine Passphrase ein. Die gesamte Interaktion sieht ungefähr so aus:
C:\Users\ASUS>ssh-keygen -t ed25519 -C „Ihre_E-Mail@example.com“
Öffentliches/privates ed25519-Schlüsselpaar wird generiert.
Geben Sie die Datei ein, in der der Schlüssel gespeichert werden soll (/c/Users/ASUS/.ssh/id_ed25519):
Erstelltes Verzeichnis „/c/Users/ASUS/.ssh“.
Geben Sie die Passphrase ein (leer, wenn keine Passphrase vorhanden ist):
Geben Sie dieselbe Passphrase erneut ein:
Ihre Identifikation wurde in c/Users/ASUS/.ssh/id_ed25519 gespeichert.
Ihr öffentlicher Schlüssel wurde in c/Users/ASUS/.ssh/id_ed25519.pub gespeichert.
Der Schlüsselfingerabdruck lautet:
RSA2048:wvaHYeLtY6+DlvV5sFZgDi3RTAe8R2KY23N78qrGqJE Ihre_E-Mail@example.com
Das ist alles! Sie haben jetzt einen SSH-Schlüssel für Ihr Windows-Gerät.
Mehr lesen: Das ultimative Handbuch zum GitHub Student Developer Pack
B. Erstellen eines SSH-Schlüssels unter macOS oder Linux
Schritt 1: Öffnen Sie ein Terminal auf Ihrem PC und geben Sie den folgenden Befehl ein:
ssh-keygen -t ed25519 -C „Ihre_E-Mail@beispiel.com“
Auch hier hilft Ihnen die Eingabe Ihrer persönlichen E-Mail-Adresse und die Verknüpfung mit dem Schlüssel später bei der Identifizierung des Schlüssels. Sie sollten eine Antwort ähnlich der folgenden erhalten:
chaiss@C02FP1JWMD6V ~ % ssh-keygen -t ed25519 -C chaiss@email.com
Öffentliches/privates ed25519-Schlüsselpaar wird generiert.
Geben Sie die Datei ein, in der der Schlüssel gespeichert werden soll (/Users/chaiss/.ssh/id_ed25519):
Schritt 2: Klicken Sie auf „Eingeben“ , um den Standardspeicherort und den Standarddateinamen zu akzeptieren. Wenn das Verzeichnis d.ssh nicht vorhanden ist, erstellt das System automatisch eines für Sie.
Schritt 3: Wählen Sie „Enter x2“ und geben Sie dann bei entsprechender Aufforderung eine Passphrase ein. Die gesamte Interaktion sieht ungefähr so aus:
c haiss@C02FP1JWMD6V ~ % ssh-keygen -t ed25519 -C chaiss@email.com
Öffentliches/privates ed25519-Schlüsselpaar wird generiert.
Geben Sie die Datei ein, in der der Schlüssel gespeichert werden soll (/Users/chaiss/.ssh/id_ed25519):
Geben Sie die Passphrase ein (leer, wenn keine Passphrase vorhanden ist):
Geben Sie die gleiche Passphrase erneut ein:
Ihre Identifikation wurde in /Users/chaiss/.ssh/id_ed25519 gespeichert.
Ihr öffentlicher Schlüssel wurde in /Users/chaiss/.ssh/id_ed25519.pub gespeichert.
Der Schlüsselfingerabdruck lautet:
RSA2048:gTVWKbn41z6JgBNu3wYjLC4H6oW5bmhaXyaVABwmEtE chaiss@email.com
Das Randomart-Bild des Schlüssels lautet:
+–[ED25519 256]–+
|==+. +o.. |
|.oE. +o.. |
| . …o |
| .o… |
| oo+S . |
| + ..B = . . |
|.+.+.oo+ * o . |
|o++.o+ . + + |
|B+ o. . . |
+—-[RSA2048]—–+
chaiss@C02FP1JWMD6V ~ %
Das ist es! Sie haben jetzt einen SSH-Schlüssel für Ihr macOS- oder Linux-Gerät. Das zufällige Kunstbild ist eine alternative Möglichkeit, die Schlüssel abzugleichen.
Nachdem wir nun die Einrichtung eines github ssh key im Detail beschrieben haben, wollen wir noch einmal auf einen kritischen Aspekt zurückkommen.
Ihr SSH-Schlüssel besteht aus zwei Teilen: einem privaten und einem öffentlichen Schlüssel. Der private Schlüssel ist nur für den privaten Gebrauch bestimmt und sollte daher niemals an andere weitergegeben werden, außer vielleicht an Ihren Systemadministrator oder andere vertrauenswürdige Personen in Ihrer Organisation.
So fügen Sie Ihrem GitHub-Konto einen SSH-Schlüssel hinzu
In diesem Abschnitt erklären wir, wie Sie Ihren öffentlichen Schlüssel auf GitHub hochladen können. Ihr privater Schlüssel bleibt natürlich auf Ihrem lokalen Computer und Ihre einzige Aufgabe besteht darin, sicherzustellen, dass er vor unbefugten Blicken geschützt bleibt.
So fügen Sie Ihren öffentlichen SSH-Schlüssel zu Ihrem GitHub-Konto hinzu.
Schritt 1: Öffnen Sie GitHub und melden Sie sich bei Ihrem Konto an.
Schritt 2: Nachdem Sie Ihren Avatar ausgewählt haben, klicken Sie auf „Einstellungen“ .
Schritt 3: Wählen Sie die SSH- und GPG-Schlüssel auf der rechten Seite Ihres Bildschirms.
Schritt 4: Klicken Sie auf die grüne CTA-Schaltfläche „Neuer SSH-Schlüssel“ .
Schritt 5: Geben Sie einen Titel in das Feld „Titel“ ein. Dies kann alles sein, z. B. Desktop-Schlüssel oder Laptop-Schlüssel . Fügen Sie anschließend Ihren öffentlichen Schlüssel in das Feld „Schlüssel“ direkt unter dem Feld „Titel“ ein.
Schritt 6: Klicken Sie auf SSH-Schlüssel hinzufügen , um die Details zu bestätigen.
Und Sie sind fertig! Befolgen Sie einfach die obigen Schritte, um SSH-Schlüssel zu Ihrem GitHub-Konto hinzuzufügen.
Sie können SSH-Schlüssel verwenden, um sichere Verbindungen zu authentifizieren. Git kann auch beim Pushen oder Pullen in Remote-Repositorys SSH-Schlüssel anstelle der herkömmlichen Kennwortauthentifizierung verwenden.
Wir hoffen, dass dieser Leitfaden Ihnen dabei hilft, einen SSH-Schlüssel zu erstellen und zu verwenden, damit Sie sich keine Sorgen um die Sicherheit Ihrer Systeme machen müssen. Weitere Informationen zu GitHub finden Sie in unserem Blog .