Zum Hauptinhalt springen

How to - GitLab + SSH Keys

Einige allgemeine Informationen über GitLab und SSH

♥ Was ist GitLab und warum brauche ich SSH-Schlüssel?

GitLab ist eine webbasierte Plattform, mit der du all deine Programmierprojekte (als Git-Repositories) verwalten und gemeinsam nutzen kannst. Um GitLab zu nutzen, benötigst du ein SSH-Schlüsselpaar zur Authentifizierung. In dieser Anleitung zeigen wir dir, wie du ein SSH-Schlüsselpaar erzeugst und zu deinem GitLab-Konto hinzufügst.

info

Für einige Schritte wirst du ein Terminal verwenden, was dir anfangs vielleicht veraltet und unnötig kompliziert vorkommt. Aber keine Sorge: Wenn du dich erst einmal an das verkrustete Aussehen und die Bedienung gewöhnt hast, ist die Verwendung des Terminals ziemlich einfach - und es ist tatsächlich ein wichtiger Teil der täglichen, modernen IT-Arbeit, besonders wenn du mit Linux-Umgebungen zu tun hast, was während deines Studiums vorkommen wird.

♥ Was ist SSH und was sind SSH-Schlüssel?

Kurz gesagt, SSH ist ein Authentifizierungsprotokoll, das eine sichere, verschlüsselte Kommunikation und Dateiübertragung über (unsichere) Netzwerkverbindungen ermöglicht. Das Grundkonzept besteht darin, dass es zwei SSH-Schlüssel gibt: einen öffentlichen Schlüssel und einen privaten Schlüssel. du gibst den öffentlichen Schlüssel in dein GitLab-Profil ein, und die Authentifizierung funktioniert nur, wenn du auch den entsprechenden privaten Schlüssel (den nur du kennst!) auf deinem PC/Laptop hast.

Erzeuge dir deinen SSH-Schlüssel

Wenn du bereits einen SSH-Schlüssel hast, kannst du diesen verwenden oder einen neuen Schlüssel für CoCo erstellen. Bitte beachte, dass es einige Einschränkungen bezüglich des Namens und Formats von SSH-Schlüsseln in GitLab gibt. Siehe das GitLab SSH doc für weitere Informationen

Wenn du noch keinen Schlüssel hast, musst du einen neuen erstellen.

♥ Überprüfe, ob du bereits einen SSH-Schlüssel hast.

Deine Schlüssel sollten sich im folgenden Verzeichnis befinden: MacOS/Linux: ~/.ssh, oder /Benutzer/<DeinBenutzername>/.ssh Windows: c:/Benutzer/<DeinBenutzername>/.ssh

Der Punkt (.) vor ".ssh" bedeutet, dass der Ordner standardmäßig versteckt ist. Wenn du deinen .ssh-Ordner (und andere versteckte Ordner und Dateien) nicht sehen kannst, musst du möglicherweise dein Betriebssystem (Windows/Mac/Linux) so einstellen, dass versteckte und Systemdateien angezeigt werden. Befolge dazu diese Anweisungen: Windows | Mac | Linux

Wenn du deinen .ssh-Ordner nach dem Anzeigen der versteckten Dateien immer noch nicht sehen kannst, hast du SSH vielleicht einfach noch nicht benutzt. Während der nächsten Schritte sollte der .ssh-Ordner für dich erstellt werden; oder du kannst ihn manuell erstellen.

♥ Installiere Software, um einen neuen SSH-Schlüssel zu erstellen

Unter Mac und Linux bist du bereit und kannst sofort loslegen.

Unter Windows musst du möglicherweise ein oder mehrere zusätzliche Tools installieren/aktivieren:

  • Obwohl es möglich ist, SSH-Schlüssel unter Windows 10/11 ohne Software von Drittanbietern zu erzeugen (siehe hier), ist es wahrscheinlich am einfachsten, einfach die Git Bash für Windows zu verwenden. Git Bash ist in der Installation von Git für Windows enthalten, die ohnehin empfohlen wird.

♥ Generiere einen neuen SSH-Schlüssel

  • MacOS/Linux: öffne ein Terminalfenster (Anleitung für Mac | Anleitung für Linux/Ubuntu)

  • Windows: Öffne Git Bash

  • Gebe den folgenden Befehl ein: ssh-keygen -t ed25519 -C '<DeinEmailName>@smail.th-koeln.de'

  • Du wirst nach der "Datei, in der der Schlüssel gespeichert werden soll" mit einer Standarddatei in Klammern gefragt (z.B. /c/users/<DeinBenutzername>/.ssh/id_ed25519).

  • Wenn du bereits einen SHH-Schlüssel mit demselben Namen hast, gib einen neuen, eindeutigen Dateinamen ein (z. B. /c/users/<DeinBenutzername>/.ssh/id_ed25519_new). Andernfalls wirst du gefragt, ob du deine bestehende Schlüsseldatei überschreiben willst.

  • Wenn du nicht wirklich weißt, was du tust, wird dringend empfohlen, den Standardordner .ssh zu verwenden!

  • Bestätige mit "Enter".

  • Als nächstes wirst du nach einer Passphrase gefragt. Gib eine gute Passphrase ein und bestätige die Eingabe. Merke sie dir gut, du wirst sie brauchen!

Du solltest nun zwei Dateien in .ssh erzeugt haben:

  • id_ed25519.pub enthält den öffentlichen Schlüssel
  • id_ed25519 enthält den privaten Schlüssel
warnung

Dein privater Schlüssel ist ein Geheimnis! Gib ihn niemals irgendwo ein. Lade ihn niemals irgendwo hoch. Füge ihn niemals auf einer Website ein.

Füge deinen Schlüssel zu deinem GitLab-Profil hinzu

  • Öffne https://git.coco.study/ in einem Browser.
  • Klicke auf die Schaltfläche "Sign in" in der oberen rechten Ecke.

gitlab sign in

  • Klicke auf die Schaltfläche "CampusID"

gitlab campusID

  • Gehe in GitLab zum Abschnitt Benutzereinstellungen > SSH-Schlüssel

    • Klicke auf das Symbol in der oberen rechten Ecke.
    • Klicke auf "Profil bearbeiten".
    • Klicke im Menü auf der linken Seite auf "SSH-Schlüssel".
  • Zeige deinen öffentlichen Schlüssel mit cat ~/.ssh/id_ed25519.pub an.

  • Finde nun heraus, wie du in deinem Terminal/Bash-Programm Text markieren und kopieren kannst. Kopiere dann deinen öffentlichen Schlüssel.

  • Gib deinen öffentlichen Schlüssel in dein GitLab-Profil ein.

  • Gib einen guten Titel ein, damit du die Schlüssel auseinanderhalten kannst. Füge vielleicht den Namen des Computers, auf dem sich der Schlüssel befindet, in den Titel ein. Du kannst später weitere Schlüssel hinzufügen...

  • Lasse das Verfallsdatum leer.

  • Klicke auf "Schlüssel hinzufügen".

gitlab ssh key management

♥ Überprüfe deine Konfiguration

  • Führe den Befehl ssh -T git@git.coco.study aus.

  • Beim ersten Verbindungsaufbau wirst du aufgefordert, die Authentizität des CoCo GitLab-Servers zu überprüfen:

    • The authenticity of host 'git.coco.study (139.6.56.101)' can't be established. ECDSA key fingerprint is SHA256:HlyQ4JrVtPgGxQJjSUhjPCE2Vk6ieuqbIEJ51zqUAPg. Are you sure you want to continue connecting (yes/no/[fingerprint])?
  • Antworte mit "yes".

  • Du solltest eine Meldung wie diese erhalten: Willkommen bei GitLab, @<Deine-campusID>.

  • Zur Fehlerbehebung führe diesen Befehl aus: ssh -Tvvv git@git.coco.study

  • Versuche, aus der Ausgabe einen Sinn zu ziehen und herauszufinden, was falsch ist. Wenn das nicht funktioniert, schreie um Hilfe.

[ Alle technischen Details findest du in der GitLab SSH Dokumentation ]

Übersetzt mit DeepL.com (free version) & angepasst durch einen Menschen