SSH-Key und das »Windows Subsystem for Linux«

Mit Bash on Ubuntu on Windows kann auf Windows 10 ein Windows Subsystem for Linux genutzt werden. Damit lassen sich viele Linux-Befehle auf Windows ausführen, wie beispieslweise auch ssh. Hier zeige ich euch, wie die Erstellung eines SSH-Keys abläuft, der im Subsystem und von Windows genutzt werden soll.

Update vom 14. Mai 2018: Nach einem Update auf den Insider Build 17063 müsst ihr folgende Kommandos auf dem Linux-Subsystem ausführen, damit es weiterhin funktioniert, wie Entity Black in seinem Kommentar unter dem englischsprachigen Artikel schreibt:

sudo umount /mnt/c
sudo mount -t drvfs C: /mnt/c -o metadata 

Update vom 29. Mai 2018: Es scheint, dass die oben genannten Schritte das Problem nur temporär lösen, wie in den Kommentaren unter dem englischen Artikel geschrieben. Um das zu beheben muss eine Konfigurationsdatei bearbeitet/erstellt werden. Es gibt drei leicht verschiedene Ansätze dazu in den Kommentaren – einen von Andrew, einen von Entity Black, and einen von Vince.

Update vom 10. Juli 2018: Darren hat in seinem Kommentar unter dem englischsprachigen Artikel darauf hingewiesen, dass die Nutzung von SSH-Aliasen mit dem hier beschriebenen Vorgehen nicht funktioniert, und wie das gelöst werden kann.

Zielsetzung

Ich wollte einen SSH-Key erstellen, den ich sowohl in dem Linux-Subsystem als auch von normalen Windows-Programmen aus nutzen kann. Im Optimalfall soll es den Key auf der Festplatte nur einmal geben. Wie ihr das Linux-Subsystem installieren könnt, zeigt ein Beitrag auf howtogeek.com.

Lösung

Im Windows-Dateipfad wird der SSH-Key standardmäßig unter C:/Users/Florian/.ssh abgelegt, was im Linux-Subsystem dem Pfad /mnt/c/Users/Florian/.ssh entspricht. Standard-Ort für einen SSH-Key im Subsystem ist ~/.ssh.

Vor dieser Beitragsaktualisierung hatte ich eine nicht wirklich optimale Lösung, bei der die Key-Dateien immer zweimal existieren mussten. In den Kommentaren bei der englischsprachigen Version gab es aber einige Leute mit besseren Lösungen – einer davon Andrey Chirkov, der einen Einzeiler gepostet hat, die ihr im Windows Subystem for Linux ausführen müsst (der ~/.ssh-Ordner darf da noch nicht existieren):

ln -s /mnt/c/Users/Florian/.ssh ~/.ssh
Code-Sprache: Bash (bash)

Damit wird ein Link von ~/.ssh zu /mnt/c/Users/Florian/.ssh erstellt. Somit brauchen wir die SSH-Keys nur noch im Windows-Pfad abzulegen und können auch über die Linux-Shell darauf zugreifen.

Nachdem ich das ausprobiert habe, ist mir aufgefallen, dass diese Lösung auch Teil der Stack-Exchange-Antwort war, die ich in der älteren Version des Artikels verlinkt habe. Ich weiß nicht, warum ich es damals nicht zum Laufen gebracht habe …

Die Originalversion des Artikels wurde am 8. März 2017 veröffentlicht.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert