J'essayais d'utiliser une instance ssh et j'ai reçu cette erreur:
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@ WARNING: UNPROTECTED PRIVATE KEY FILE! @
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
Permissions 0777 for 'privkey.pem' are too open.
It is required that your private key files are NOT accessible by others.
This private key will be ignored.
Load key "privkey.pem": bad permissions
Permission denied (publickey).
Ce qui est étrange. J'ai essayé de changer l'autorisation à l'aide de la commande 'chmod', mais cela ne semblait pas fonctionner. Le bash donnait l’impression que la commande était enregistrée, mais j’ai vérifié les permissions de la clé et c’était toujours à 777. J’ai ouvert mon compte git bash et j’ai pu entrer ssh dans mon instance sans problème, et les permissions n’étaient pas 777 comme bien.
Si vous référencez des fichiers dans le système de fichiers Windows, ils ne conservent pas par défaut les autorisations Linux. Cependant, il existe un moyen de permettre cela. Modifiez ou créez (à l'aide de Sudo
) /etc/wsl.conf
et ajoutez les éléments suivants:
[automount]
options = "metadata"
Arrêtez toutes les instances WSL et redémarrez une instance. Toutes les modifications chmod
sont maintenant conservées.
La clé privée de votre système de fichiers Windows (sous/mnt /)? Vous ne pouvez pas modifier les autorisations des fichiers sur le système de fichiers Windows à l'aide de chmod sur Bash sous Ubuntu sous Windows. Vous devrez copier la clé privée dans votre répertoire de base WSL (~) et le faire ici.
Quelques discussions ici: https://github.com/Microsoft/WSL/issues/81
La bonne façon de gérer cela:
/etc/wsl.conf
et éditez-le pour qu'il contienne les éléments suivants: [automount]
enabled = true
root = /mnt/
options = "metadata,umask=22,fmask=11"
Pour comprendre la signification de chaque paramètre ci-dessus, consultez cet article sur msdn: https://blogs.msdn.Microsoft.com/commandline/2018/02/07/automatically-configuring- wsl/
Maintenant que tout est prêt, la modification des autorisations d'un fichier dans Windows à partir de/mnt/c/sera reflétée correctement sur le sous-système Linux via la fonctionnalité "métadonnées" WSL.
La configuration WSL sera toujours montée correctement au démarrage de WSL.