J'ai le fichier .pem situé sur le disque local C "c/private-key.pem" et j'ai un lien symbolique vers celui-ci sur le sous-système Ubuntu "~/.ssh/private-key.pem ->/mnt/c/private- key.pem "
Et quand j'essaye de chier une machine distante du sous-système Ubuntu, j'ai:
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@ WARNING: UNPROTECTED PRIVATE KEY FILE! @
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
Permissions 0777 for '/home/artur/.ssh/private-key.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 "/home/artur/.ssh/private-key.pem": bad permissions
Permission denied (publickey).
Il a été lancé après la mise à jour 1803 pour Windows.
J'essayais d'utiliser chmod 400 pour la clé sur le lecteur C et dans le dossier ./ssh sur le sous-système. Et essayait de définir le propriétaire juste pour moi et de supprimer tous les autres utilisateurs du panneau de sécurité sur Windows pour cette clé de fichier. Mais j'ai "Permissions XXXX for '/home/artur/.ssh/private-key.pem' are too open" or "Permission denied"
tout le temps.
Tout organisme peut-il m'aider et expliquer comment les autorisations de clés doivent être configurées sur Windows et le sous-système Ubuntu?
Solution qui fonctionne pour moi dans Windows WSL (sans changer de mode de fichier):
Sudo ssh -i keyfile <user>@ip
Copiez la clé SSH dans votre répertoire WSL ~/.ssh
, car une clé SSH avec des autorisations autres que 600/400 compromet la clé.
Je lis entre les lignes et je suppose que vous utilisez un sous-système Linux dans Windows 10. Lorsque vous créez un lien symbolique entre le fichier Windows de C:\et le système de fichiers Linux dans $ HOME/.ssh, les autorisations du fichier lui-même sont: toujours sous le contrôle de Windows, et les autorisations qui vous sont présentées dans la fenêtre Linux représentent le mieux les autorisations de Windows; vous ne pouvez pas modifier les autorisations sur les fichiers Windows dans/mnt/c sous Linux. Ce FAQ de Microsoft explique comment les fichiers sont gérés dans les deux systèmes de fichiers qui se chevauchent.
Le fichier sur lequel vous devez modifier l'autorisation est celui sur lequel le lien symbolique pointe alors, ce qui signifie que le fichier se trouve dans/mnt/c
Il ne semble pas possible de donner un accès utilisateur uniquement à un fichier Windows. Même si vous désactivez l'héritage des autorisations sur un fichier et n'accordez que votre propre autorisation de lecture, les autorisations Linux sont toujours affichées sous la forme -r -r -r--, elles ne seront donc pas utilisables pour .ssh
La seule option semble être de copier le fichier de Windows vers Linux, auquel cas vous pouvez utiliser chmod et chown dessus.