Visual Studio Code unter Windows mit SSH Agent nutzen

Veröffentlicht von

Visual Studio Code von Microsoft ist ein genialer Code- und Texteditor. Vor allem die Integration von Git macht das Arbeiten mit dem derzeit verbreitetstem Versionsverwaltungssystem sehr einfach. Es ist möglich in ein und demselben Programm seinen Code anzupassen und in git z.B. zu commiten, pullen und pushen. Aber wie nutzt man unter Windows in VS Code einen SSH Agent um sich mit Git Repositories, die per SSH verwaltet werden, zu verbinden?

Benötigte Komponenten

Zusammenfassung für die Ungeduldigen
  • alle Programme herunterladen und, wenn nötig, installieren
  • Public Key im Git Repo hinterlegen
  • SSH Agent mit dem passenden private Key laden
  • Mit plink.exe den Host Key des Git Repo abspeichern (plink.exe [USER]@[GITHOST])
  • Environment Variable setzen (GIT_SSH mit absolutem Pfad zur plink.exe)

Konfiguration SSH Agent

In diesem Beitrag werde ich nicht näher auf die Einrichtung der SSH Keys eingehen. Dazu gibt es mehr als genug Anleitungen im Internet. Nur ein paar kurze Worte zu meiner Konfiguration.
Ich benutze zur Passwortverwaltung KeePass. Ohne meine KeePass Datenbank bin ich wahrscheinlich aufgeschmissen. Deswegen existieren von ihr mehr als genug Backups an verschiedenen Orten.
Neben der Passwortverwaltung nutze ich KeePass, mit dem Plugin KeeAgent, auch als SSH Agent. In dem Passwortfeld wird das Passwort des SSH Keys eingetragen, dieser wird wiederum als File Attachment  dem Eintrag hinzugefügt und im Tab KeeAgent im SSH Agent geladen.

plink.exe und der SSH Hosteintrag

Damit VS Code zum SSH Git Repo mit Hilfe des SSH Agent eine Verbindung aufbauen kann, muss es die plink.exe als SSH Client nutzen. Die SSH Implementierung in VS Code unterstützt bisher keinen SSH Agent.
Als erstes muss dem SSH Host Key vertraut werden. VS Code bietet dafür keine Gui und gibt auch keine Fehlermeldung aus, wenn man vergessen hat, diesem zu vertrauen. Es macht einfach gar nichts. Höchstens wenn man sich mit Strg + Shift + U die Output Konsole öffnet, kann man das Problem erahnen. Deswegen muss mit der plink.exe vor der Benutzung in VS Code eine Verbindung zum Git SSH Server aufgebaut werden. In einer CMD, oder Powershellkonsole, in den Ordner mit der plink.exe wechseln und folgenden Befehl ausführen:

plink.exe [USER]@[GITHOST]

Ja, wir waren noch nie auf dem Host. Also den Host Key bitte mit "y" bestätigen damit ihm vertraut und er in der Registry gespeichert wird.

Environment Variable setzen

Bisher weiß VS Code noch nichts von der plink.exe. Das können wir ändern, in dem wir in Windows die Environment Variable GIT_SSH mit absolutem Pfad zur plink.exe setzen. VS Code nutzt die hier eingetragene .exe als SSH Client.
Dafür im Windows Explorer einen Rechtsklick auf My PC --> Properties machen, und unter Advanced System Settings die Environment Variables öffnen. Unter den User Variables muss eine neue Variable mit Namen GIT_SSH und als Value dem vollständigen Pfad zur plink.exe angelegt werden.

Fazit

Glückwunsch. Jetzt solltest du unter Windows eine vollständige Git + SSH (Agent) Implementierung in Visual Studio Code nutzen können. Wenn nicht, les nochmal genauer 😉

Teile diesen Beitrag
5 1 vote
Article Rating
Abonnieren
Benachrichtige mich bei
guest
0 Comments
Inline Feedbacks
View all comments