Skip to content

Instantly share code, notes, and snippets.

@KerberosMorphy
Last active December 19, 2022 16:22
Show Gist options
  • Save KerberosMorphy/408856aefd57091893ade81f5a04451c to your computer and use it in GitHub Desktop.
Save KerberosMorphy/408856aefd57091893ade81f5a04451c to your computer and use it in GitHub Desktop.
Partager Clef SSH entre Windows et WSL

Partager Clef SSH entre windows et WSL2

Ouvrir votre distro, et créer ou modifier le fichier /etc/wsl.conf pour inclure les options automount suivant:

[automount]
options = "metadata,umask=022,fmask=111"

Ces options garantissent que les fichiers du système monté reçoivent la propriété de l'utilisateur et du groupe appropriés, et qu'ils disposent d'autorisations par défaut raisonnables (par opposition à ce que toutes obtiennent 777).

Fermer votre distro WSL pour aux moins 10 secondes:

> wsl --shutdown

Redémarrer votre distro:

> wsl -d <distro_name>

Accédez à votre lecteur C: monté sur /mnt/c/Users/<user> et définissez les autorisations appropriées sur le répertoire .ssh et les fichiers de clé, comme requis par SSH:

$ cd /mnt/c/Users/<user>
$ chmod 700 .ssh
$ chmod 600 .ssh/id_rsa
$ chmod 644 .ssh/id_rsa.pub

Enfin, accédez au lecteur home de votre distribution, sauvegardez ou supprimez tout répertoire .ssh existant et créez un lien symbolique vers le répertoire .ssh de votre lecteur C::

$ cd ~
$ mv .ssh .ssh_orig
$ ln -s /mnt/c/Users/<user>/.ssh/ .ssh

Vous devriez maintenant pouvoir partager entièrement votre configuration, vos hôtes et vos clés Windows SSH avec votre distribution WSL, tout en les conservant au même endroit.

Exemple du résultat d'un listing dans le home où j'ai fait aussi le link avec mes crendentials aws et azure:

$ ls -lah ~ | grep lrw
lrwxrwxrwx 1 <user> <user>   25 Feb  7  2022 .aws -> /mnt/c/Users/<user>/.aws
lrwxrwxrwx 1 <user> <user>   27 Feb  7  2022 .azure -> /mnt/c/Users/<user>/.azure
lrwxrwxrwx 1 <user> <user>   26 Feb  7  2022 .ssh -> /mnt/c/Users/<user>/.ssh/
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment