hanakaz1991 - stock.adobe.com

Ein GitHub-Repository über SSH auf Git klonen

Um ein GitHub-Repository über SSH auf Git zu erstellen, sind vier Schritte notwendig. Dieses Tutorial zeigt, wie Sie den Klonprozess in fünf Minuten abschließen.

Um einen GitHub-Klon mit SSH-Schlüsseln (Secure Shell oder Secure Socket Shell) in Git auszuführen, sind folgende vier Schritte notwendig:

  1. Erstellen Sie ein SSH-Schlüsselpaar auf Ihrem Windows- oder Linux-Betriebssystem
  2. Kopieren Sie den Wert des Public SSH Key in Ihr GitHub-Konto
  3. Beschaffen Sie sich die GitHub-SSH-URL für das zu klonende Repository
  4. Klonen Sie von GitHub mit der SSH URL

Diese Schritte mögen zunächst entmutigend klingen, aber der gesamte Prozess kann in weniger als fünf Minuten abgeschlossen werden (siehe Video).

SSH-Schlüssel für GitHub erstellen

Unter Windows können Sie GitHub SSH-Schlüssel mit dem Open-Source-Tool PuttyGen erstellen. Unter Ubuntu oder Windows, wenn Sie den Dienst Windows Subsystem for Linux (WSL) installiert haben, ist die Erstellung von GitHub SSH-Schlüsseln sogar noch einfacher. Rufen Sie einfach den Befehl ssh-keygen in der Windows PowerShell oder im Ubuntu Terminal auf.

clone@github:~/.ssh$ ssh-keygen -o -t rsa -C "[email protected]"

Dieser Befehl erstellt einen Public und einen Private Key. Diese Dateien, insbesondere der private Schlüssel, müssen im .ssh-Verzeichnis des Benutzers gespeichert werden, damit der GitHub SSH-Klonvorgang sie zur Laufzeit findet. Wenn Sie sie an einem anderen Ort als dem .ssh-Verzeichnis des Benutzers speichern, schlägt der GitHub-SSH-Klonversuch fehl.

Die folgende Verzeichnisauflistung zeigt die öffentlichen und privaten SSH-Schlüssel im .ssh-Verzeichnis des Benutzers unter Linux:

clone@github:~/.ssh$ ls
id_rsa id_rsa.pub

Öffentlichen SSH-Schlüssel kopieren

Um SSH mit GitHub zu konfigurieren, müssen Sie eine Kopie Ihres öffentlichen SSH-Schlüssels auf GitHub speichern.

Wenn Sie ein GitHub-Repository über SSH klonen, wird der öffentliche Schlüssel des entfernten Servers mit dem privaten Schlüssel verglichen, der lokal im Ordner .ssh des Betriebssystems gespeichert ist. Wenn es eine Übereinstimmung gibt, wird der GitHub-Klon über SSH fortgesetzt. Wenn nicht, schlägt die Verbindung fehl. Damit dies alles funktioniert, benötigt GitHub eine Kopie Ihres öffentlichen SSH-Schlüssels.

Öffnen Sie Ihren öffentlichen Schlüssel, der wahrscheinlich id_rsa.pub heißt, mit einem Texteditor und kopieren Sie den Inhalt. Unter Ubuntu können Sie einfach den Befehl cat eingeben und die Ausgabe aus dem Terminal kopieren:

clone@github:~/.ssh$ cat id_rsa.pub
ssh-rsa DSSEXaasdf2EEEEAsdaEBgQCwsawea
sd9YNasdfaXxkasdfHZgyW7/3WXghBbKasdfKb
ewf17c4asdfHQrasdfasPXai6pMsdfsfXQH00L

Konfiguration von GitHub SSH

Melden Sie sich mit dem kopierten öffentlichen Schlüssel bei GitHub an und gehen Sie zu Ihren Kontoeinstellungen. Es gibt einen Link für SSH- und GPG-Schlüssel. Klicken Sie auf diesen Link, fügen Sie einen GitHub SSH-Schlüssel hinzu, fügen Sie den Wert des öffentlichen Schlüssels in das entsprechende Feld ein und geben Sie Ihrem Schlüssel einen entsprechenden Namen.

Nachdem dieser Schritt ausgeführt wurde, können Sie einen GitHub-Klon mit SSH-Schlüsseln in Git ausführen.

Abbildung 1: Für die Konfiguration des GitHub-SSH-Schlüssels muss der Wert Ihres öffentlichen SSH-Schlüssels dauerhaft auf dem GitHub-Server gespeichert werden.
Abbildung 1: Für die Konfiguration des GitHub-SSH-Schlüssels muss der Wert Ihres öffentlichen SSH-Schlüssels dauerhaft auf dem GitHub-Server gespeichert werden.

GitHub Repository SSH URL

Jedes GitHub-Repository verfügt über eine grüne Code-Schaltfläche, auf die Sie klicken können, um entweder eine HTTP, CLI oder SSH URL zu erhalten, mit der das Repository geklont werden kann.

Kopieren Sie die SSH URL Ihres Repositorys und schon können Sie den GitHub-SSH-Klonvorgang starten. Die SSH URL für mein spock-lizard-docker-Repository lautet:

[email protected]:cameronmcnz/spock-lizard-docker.git

GitHub SSH-Klon

Um GitHub mit SSH-Schlüsseln zu klonen, öffnen Sie einfach die Windows PowerShell oder ein Ubuntu-Terminal und geben Sie den Klonbefehl sowie die von GitHub kopierte SSH URL an. Git stellt sicher, dass der GitHub-Klonvorgang eine SSH-Verbindung verwendet.

clone@github:~/.ssh$ ~$ git clone [email protected]:cameronmcnz/spock-lizard-docker.git
Cloning into ‘spock-lizard-docker’…
Authenticity of host ‘github.com (140.82.114.3)’ can’t be established.
Are you sure you want to continue connecting (y/n/[fingerprint])? y
Resolving deltas: 100% (201/201), done. GitHub SSH clone successful.

Es wird eine Warnung angezeigt, dass Git nicht in der Lage ist, den SSH-Schlüssel anhand eines Authentifizierungsdienstes eines Drittanbieters zu validieren, wodurch der Klonvorgang unterbrochen wird. Dies ist zu erwarten. Geben Sie einfach y (yes) ein und der GitHub SSH-Klonvorgang wird fortgesetzt.

Sobald der Klonvorgang abgeschlossen ist, finden alle nachfolgenden Interaktionen mit GitHub über eine sichere SSH-Verbindung statt.

Erfahren Sie mehr über Softwareentwicklung