Africa Studio - stock.adobe.com
Wie man SSH-Verbindungen zu GitHub unter Windows herstellt
Dieses Tutorial zeigt, wie man eine Verbindung zu GitHub mit SSH unter Windows herstellt. Hierfür sind fünf Schritte notwendig, darunter die Verwendung des ssh-keygen-Befehls.
OpenSSH, die Open-Source-Version der SSH-Tools (Secure Socket Shell), ist ein Standardbestandteil der Betriebssysteme Windows 10 und Windows Server 2019. Dies vereinfacht die Verbindung zu GitHub mit SSH unter Windows.
Schritt-für-Schritt-Beispiel für GitHub SSH unter Windows
Führen Sie die folgenden Schritte aus, um eine Verbindung zu GitHub mit SSH unter Windows herzustellen:
- Öffnen Sie PowerShell
- Führen Sie den Befehl ssh-keygen aus, um SSH-Schlüssel zu erstellen
- Kopieren Sie den Wert des öffentlichen SSH-Schlüssels
- Speichern Sie den öffentlichen Schlüssel in den Einstellungen Ihres GitHub-Kontos
- Führen Sie einen Git-Klonvorgang mit der SSH-URL Ihres Projekts durch
SSH-Schlüssel für GitHub erstellen
Speichern Sie zunächst einen öffentlichen SSH-Schlüssel auf GitHub. Dieser wird mit einem lokal gespeicherten privaten Schlüssel abgeglichen, den Git zur Validierung und zum Aufbau einer Verbindung verwendet. GitHub-SSH-Schlüssel werden mit dem Tool ssh-keygen erstellt, das mit aktuellen Versionen von Windows mitgeliefert wird.
Geben Sie in Windows PowerShell den folgenden ssh-keygen-Befehl ein, um GitHub-SSH-Schlüssel zu erstellen:
PS C:\github\ssh\example> ssh-keygen -o -t rsa -C "[email protected]"
Sie werden nach einer optionalen Passphrase gefragt. Es ist zulässig, auf Enter zu klicken und dieses Feld leer zu lassen.
GitHub SSH KeyGen-Optionen
KeyGen-Option |
Bedeutung |
Verwendung |
-t |
Erzeugt einen DSA-, RSA- oder ECDSA-Schlüssel |
RSA |
-o |
Verwende das neue OpenSSH-Format |
Standard akzeptieren |
-C |
Metadaten, die an die E-Mail mit dem öffentlichen SSH-Schlüssel angehängt werden |
|
Sie werden auch nach einem Speicherort für die GitHub-SSH-Schlüssel unter Windows gefragt. Auch hier klicken Sie einfach auf die Eingabetaste, um den Standardspeicherort zu akzeptieren: den Ordner .ssh im Home-Verzeichnis des Benutzers.
Die GitHub-SSH-Schlüssel unter Windows befinden sich im Ordner .ssh unter dem Home-Verzeichnis des aktuellen Benutzers. Die folgende Verzeichnisauflistung unter dem Ordner .ssh eines Benutzers namens Cameron zeigt die beiden vom Tool ssh-keygen erstellten Dateien:
PS C:\Users\Cameron\.ssh> dir
LastWriteTime Name
------------- ----
1/1/2022 id_rsa
1/1/2022 id_rsa.pub
GitHub SSH-Konfiguration
Öffnen Sie den öffentlichen SSH-Schlüssel in einem Texteditor (zum Beispiel Notepad++), führen Sie ein Select All aus und kopieren Sie den Schlüssel.
Melden Sie sich mit dem kopierten SSH-Schlüssel bei GitHub an, navigieren Sie zu Ihren Kontoeinstellungen und fügen Sie den öffentlichen Schlüssel als neuen SSH-Schlüssel ein.
SSH zu GitHub unter Windows
Mit den generierten SSH-Schlüsseln und dem öffentlichen Schlüssel, der in Ihrem GitHub-Konto registriert ist, können Sie nun Git verwenden, um über SSH unter Windows eine Verbindung zu GitHub herzustellen.
Kopieren Sie einfach die SSH-URL von der GitHub-Seite des Repository, das Sie klonen möchten, und geben Sie diesen SSH-Link an den Git-Befehl clone weiter:
PS C:\github\ssh\example> git clone [email protected]:cameronmcnz/java-jakarta-ee.git
Cloning GitHub SSH Windows into ‘java-jakarta-ee’…
Host authenticity cannot be established.
Do you still want to connect(yes or no)? yes
Receiving objects: 100% (55/55),5.78 MiB | 1.32 MiB/s, Windows GitHub SSH done.
Resolving deltas: 100% (66/66), Windows GitHub SSH done.
Beachten Sie, dass sich der anfängliche Git-Clone mit GitHub SSH unter Windows darüber beschwert, dass die Authentizität des Hosts nicht hergestellt werden kann. Diese Warnmeldung ist zu erwarten. Geben Sie einfach yes ein und erlauben Sie dem GitHub SSH-Klonvorgang, fortzufahren.
Sobald das entfernte Repository geklont ist, können Sie Git wie gewohnt verwenden, Übertragungen vornehmen, Submodule hinzufügen, Branches verschieben und Push-Vorgänge mit GitHub durchführen. Bei allen Vorgängen, die über das Netzwerk erfolgen, wird automatisch eine SSH-Verbindung verwendet.