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 ~/.sshCode-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

To respond on your own website, enter the URL of your response which should contain a link to this post's permalink URL. Your response will then appear (possibly after moderation) on this page. Want to update or remove your response? Update or delete your post and re-enter your post's URL again. (Find out more about Webmentions.)