Git SSH Key einrichten: So geht’s (Windows, Mac & Linux)
In diesem Tutorial erfährst du Schritt für Schritt, wie du einen Git SSH Key zum Klonen von Repositorys einrichten und hinterlegen kannst.
Bei jeglichen Operationen mit deinem Repository (klonen, pushen, pullen, …) benötigst du eine Authentifizierungsmethode zwischen deinem lokalen Computer und einem Git Repository (z.B. GitHub oder Bitbucket) – und genau hier kommen SSH Keys (auch SSH Keypairs oder SSH Schlüsselpaare genannt) zum Einsatz. Ich zeige dir, wie du einen Git SSH Key – sowohl unter Mac und Linux, als auch unter Windows hinterlegen kannst.
Was ist ein Git SSH Key?
Ein Git SSH Key ist ein sicherer Zugriffsmechanismus, der die Authentifizierung gegenüber Git Repositorys ermöglicht. Es handelt sich um eine Kombination aus öffentlichem und privatem Schlüssel, die eine sichere Kommunikation zwischen deinem Computer und einem Git-Server gewährleistet. Dieser Schlüssel spielt eine entscheidende Rolle, um die Integrität und Sicherheit deiner Git-Transaktionen zu gewährleisten. Wie Public-Private-Keypairs technisch funktionieren, erfährst du in diesem Artikel.
Git SSH Key unter Mac und Linux einrichten
Unter Linux kannst du die Erstellung des SSH Keys direkt über das Terminal vornehmen. Das funktioniert auch, wenn du WSL2 (Windows Subsystem for Linux) mit einer Linux-Distribution nutzt. Zum Generieren eines neuen SSH Keys musst du folgenden Befehl ausführen:
ssh-keygen -t rsa -b 4096 -C "your-mail@example.com"
Wobei your-mail@example.com
die E-Mail Adresse sein sollte, welche du auch in deinem Git Repository verwenden möchtest.
Optional kannst du ein Passwort (passphrase) festlegen, welche jedes Mal abgefragt wird, wenn du den Schlüssel nutzen möchtest. der komplette Vorgang sollte so aussehen:
Der private und öffentliche Schlüssel werden dann unter ~/.ssh/ abgelegt. Dort sollten sich nun die Dateien id_rsa und id_rsa.pub befinden. Die Datei mit der .pub-Endung ist dein öffentlicher Schlüssel und ohne Endung dein privater Schlüssel.
Achtung: Diesen Schlüssel (private key) solltest du nicht verlieren und keinesfalls an Dritte weitergeben!
Führe den folgenden Befehl aus, um die Rechte des SSH Keys anzupassen. Andernfalls ignoriert das System deinen Schlüssel:
chmod 400 ~/.ssh/id_rsa
Das Schlüsselpaar ist erstellt. Jetzt musst du den öffentlichen Schlüssel noch in deinem Git Repository Provider hinterlegen, spring daher direkt zu:
➜ Einrichtung im Git Repository
Git SSH Key unter Windows einrichten
Unter Windows benötigst du das Programm PuTTY Key Generator (PuTTYgen). Falls du bereits PuTTY auf deinem Rechner installiert hast, ist es wahrscheinlich, dass es bereits mit installiert ist.
Öffne das Programm und klicke auf „Generate“. Danach musst du mit der Maus auf der weißen Fläche umherfahren, damit ein zufälliges Schlüsselpaar erstellt wird. Die restlichen Einstellungen kannst du unverändert lassen.
Ist der Vorgang abgeschlossen klickst du im Menü oben auf „Conversions“ > „Export OpenSSH key“ und speicherst die Datei unter C:\Users\<YOUR_USER>\.ssh ab. Der Name sollte id_rsa lauten.
Achtung: Diesen Schlüssel (private key) solltest du nicht verlieren und keinesfalls an Dritte weitergeben!
Die Datei mit dem privaten Schlüssel (id_rsa) muss bestimmte Rechte besitzen, da sie sonst aus Sicherheitsgründen ignoriert wird.
Permissions for „/Users/<YOUR_USER>/.ssh/id_rsa“ are too open. It is required that your private key files are NOT accessible by others. This private key will be ignored.
Begegnet dir also diese Fehlermeldung solltest du die folgenden Schritte durchführen.
- Navigiere im Windows Explorer zu deinem privaten Schlüssel: C:\Users\<YOUR_USER>\.ssh\id_rsa
- Rechtsklick > Eigenschaften > Sicherheit
- Wähle ganz unten „Erweitert“
- Ganz oben kannst du den Besitzer der Datei in deinen Benutzer ändern (Adminrechte notwendig)
- Entferne dann aus der Liste der Berechtigungen alle Einträge und füge für deinen Benutzer Vollzugriff hinzu
Am Ende der Prozedur sollte die Ansicht etwa so aussehen:
Im letzten Schritt müssen wir den öffentlichen Schlüssel in unserem Git Account (z.B. bei GitHub, GitLab oder Bitbucket) hinzufügen. Kopiere dazu den kompletten Inhalt aus dem blau markierten Textfeld und speichere ihn für den nächsten Schritt. Dies ist der öffentliche Schlüssel zu deinem privaten Schlüssel in der id_rsa Datei.
SSH Key beim Git Repository Provider hinterlegen
Das Hinterlegen deines generierten Keys in deinem Git Repository Provider ist sehr einfach. Beispielhaft zeige ich das am Beispiel von GitHub. Für andere Anbieter gibt es ähnliche Schritte.
Melde dich bei GitHub an und navigiere in die Einstellungen.
Im linken Menü findest du den Punkt „SSH and GPG keys“.
Klicke dort auf „New SSH key“.
Wähle hier einen passenden Titel, z.B. <PC-Name>-<Datum> und füge den öffentlichen Schlüssel ein. Beim Speichern wirst du erneut nach deinem GitHub Passwort gefragt und du erhältst zur Sicherheit auch eine Benachrichtigung per E-Mail.
Git SSH Key testen
Das war’s! Jetzt kannst du dir ein privates Repository nehmen, auf „Code“ klicken, „SSH“ auswählen und das Repository via git clone <REPO_SSH_URL>
klonen.
Wie fandest du diesen Beitrag?
-
Pingback: CI/CD in Plesk: Node.js, React, Angular, Vue & Co. automatisch deployen
-
Pingback: Node.js Tutorial - Der ultimative Leitfaden für Anfänger