339 votes

Windows SSH : Les permissions pour 'private-key' sont trop ouvertes

J'ai installé OpenSSH 7.6 sous Windows 7 à des fins de test. Le client et le serveur SSH fonctionnent parfaitement jusqu'à ce que j'essaie d'accéder à une de mes boîtes AWS EC2 à partir de ce Windows.

Il semble que je doive changer la permission sur le fichier de la clé privée. Cela peut être fait facilement sur unix/linux avec chmod commandement.

Et pour Windows ?

private-key.ppm est copié directement d'AWS et je suppose que la permission aussi.

C:\>ssh -V
OpenSSH_7.6p1, LibreSSL 2.5.3

C:\>ver

Microsoft Windows [Version 6.1.7601]

C:\>

C:\>ssh ubuntu@192.168.0.1 -i private-key.ppk
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@         WARNING: UNPROTECTED PRIVATE KEY FILE!          @
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
Permissions for 'private-key.ppk' are too open.
It is required that your private key files are NOT accessible by others.
This private key will be ignored.
Load key "private-key.ppk": bad permissions
ubuntu@192.168.0.1: Permission denied (publickey).

C:\>
C:\>
C:\>ssh ubuntu@192.168.0.1 -i private-key.ppm
Warning: Identity file private-key.ppm not accessible: No such file or directory.
ubuntu@192.168.0.1: Permission denied (publickey).

C:\>

0 votes

Avez-vous essayé de modifier l'ACL ?

3 votes

Votre clé privée se trouve-t-elle réellement dans C:\le chemin de la racine ? Je comprends pourquoi il se plaint, car les éléments se trouvant dans C:\ sont généralement accessibles à tous. Avez-vous essayé de la déplacer dans un dossier auquel vous seul, en tant qu'utilisateur, avez accès (ex. C:\Users\username\desktop ) et voir si le message apparaît toujours ?

0 votes

@Darius, oui c'est le cas. Lorsque vous copiez un fichier d'unix/linux vers Windows, la permission est également copiée. J'ai besoin de changer cela mais je ne sais pas comment le faire sous Windows. Cela peut être fait facilement sur unix/linux avec la commande chmod.

-2voto

lazycipher Points 101

Réponse par iBug fonctionne bien ! Vous pouvez le suivre et vous débarrasser de ce problème.

Mais il y a quelques points à éclaircir car j'ai rencontré des problèmes lors de la mise en place des autorisations et il m'a fallu quelques minutes pour comprendre le problème !

En suivant la réponse d'iBug, vous supprimerez toutes les autorisations mais comment définir l'autorisation de contrôle total pour vous-même ? C'est là que j'ai été bloqué au début car je ne savais pas comment faire.

Après avoir désactivé l'héritage, vous serez en mesure de supprimer tous les utilisateurs ou groupes autorisés.

Une fois que c'est fait,

Cliquez sur Add puis cliquez sur Set a Principal puis entrez System et Administrators et your email addredd dans le champ en bas, puis cliquez sur check names .

Il chargera le nom si l'utilisateur existe. Ensuite, cliquez sur OK > Type Allow > Permis de base Full Control > Okay

Cela donnera l'autorisation de contrôle total au SYSTÈME, aux administrateurs et à votre utilisateur.

Ensuite, essayez de vous connecter en utilisant cette clé. Le problème devrait être résolu maintenant.

J'ai eu le même problème et je l'ai résolu en utilisant cette méthode. S'il y a un utilisateur ou un groupe avec ce nom, il sera chargé.

-Captures d'écran-

Entrées de permission Sélectionner un principal/ Sélectionner un utilisateur ou des groupes

-2voto

Alex Ramses Points 99

Je suis un utilisateur de Windows, j'utilise le bash de Windows et j'ai suivi toutes les étapes pour définir la permission en utilisant l'interface graphique de Windows, mais cela ne fonctionne toujours pas et il se plaint :

Permissions 0555 for 'my_ssh.pem' are too open.
It is required that your private key files are NOT accessible by others.

L'I a ajouté sudo au début de la commande ssh et ça marche. J'espère que cela sera utile à d'autres.

-2voto

khalifmahdi Points 1

J'ai eu le même problème sur Windows 10 et il suscite quand j'ai créé un deuxième compte utilisateur sur ma machine.

Comme ce nouvel utilisateur était également un administrateur et qu'il avait accès à mon dossier d'utilisateur, j'ai suivi les étapes suivantes pour limiter l'accès à mon dossier d'utilisateur. .ssh et ça a marché !

  1. Naviguez dans votre dossier utilisateur à l'adresse C:\Users\YOU
  2. Cliquez à droite sur .ssh/ dossier pour ouvrir le menu contextuel
  3. Sous Give access to... dans le sous-m sous-menu Remove access
  4. C'est fait !

Essayez maintenant de vous reconnecter à votre ordinateur distant en utilisant ssh !

J'espère que cela aidera quelqu'un !

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X