60 votes

Windows CHMOD 600

J'essaie de me connecter à Amazon EC2 en utilisant OpenSSH sous Windows mais je dois définir les autorisations de mon fichier clé.

Quel est l'équivalent Windows de CHMOD 600 ?

J'ai fait de nombreuses recherches et je n'ai trouvé que des blogspam.

EDIT : Windows 7, utilisant DOS.

0 votes

C'est en lecture seule pour un utilisateur spécifique, je crois. Je ne pense pas que cela importe si l'utilisateur peut écrire dans le fichier.

1 votes

Mon calcul dit rw pour le propriétaire, tout le reste désactivé.

0 votes

Vous voulez sûrement dire chmod plutôt que CHMOD aussi !

31voto

Erin Points 102

J'ai rencontré le même problème sous Windows 10. Je l'ai résolu en effectuant les étapes suivantes.

1:- Cliquez avec le bouton droit de la souris sur le fichier cible et sélectionnez properties puis sélectionnez Security Onglet

2:- Cliquez Advanced puis assurez-vous que l'héritage est désactivé.

3:- Cliquez apply puis cliquez sur Edit dans le menu de sécurité

4:- Remove tous les utilisateurs sauf l'utilisateur Admin, qui doit avoir un contrôle total *Toutes les cases à cocher du compte Admin doivent être cochées. Allow colonne sauf autorisation spéciale.

5:- Cliquez Apply puis cliquez sur OK.

Vous êtes prêt à partir. Cela a fonctionné pour Amazon EC2 .pem et a donné presque le même fonctionnement que Chmod 600 sous Linux.

enter image description here

29voto

에이바 Points 271

Je me rends compte que ce sujet est un peu ancien mais je viens de trouver la solution pour moi dans Windows 7. Et il semble que cette question n'ait pas été résolue. J'ai eu toutes les mêmes erreurs, y compris Cygwin missing cygintl-2.dll sur chmod comme vous l'avez noté dans les commentaires.

Après avoir fait des recherches approfondies et n'avoir trouvé aucune réponse, j'ai fui :

C:\Users\mztriz\.ssh>ssh -v

OpenSSH_3.8.1p1, OpenSSL 0.9.7d 17 Mar 2004 utilisation : ssh [-1246AaCfghkNnqsTtVvXxY] [-b bind_address] [-c cipher_spec] [-D port] [-e escape_char] [-F configfile] [-i identity_file] [-L port:host:hostport] [-l login_name] [-m mac_spec] [-o option] [-p port] [-R port:host:hostport] [user@]hostname [commande]

Comme vous pouvez le voir, la version d'OpenSSH que j'utilisais était plutôt dépassée. Cependant, je ne le savais pas parce qu'une recherche rapide sur google de OpenSSH for Windows renvoie cette ancienne version.

Après avoir examiné les versions, j'ai trouvé OpenSSH pour Windows 6.9p1-1 dans la section téléchargements de ce site.

Cette nouvelle version d'OpenSSH semble corriger tous les problèmes que vous mentionnez.

11voto

Erik Points 38942

Cliquez avec le bouton droit de la souris sur le fichier/répertoire, sélectionnez Propriétés puis Sécurité. Cliquez sur Avancé, puis sur Modifier. Décochez la case "Héritable" et choisissez "Supprimer" dans la boîte de dialogue. Supprimez toutes les permissions explicites restantes, ajoutez une permission "Accès complet" à votre nom d'utilisateur.

1 votes

Il est toujours écrit Permissions 0644 for key.pem are too open

0 votes

Alors openssh ne se comporte pas bien - peut-être utiliser cygwin à la place ?

0 votes

En outre, il mai aide à accorder des permissions à "Creator Owner" au lieu de votre nom d'utilisateur.

11voto

user2309219 Points 119

Modifiez les permissions de sorte que :

  • Le fichier clé n'hérite pas du conteneur.
  • Vous (le propriétaire) avez un accès complet
  • Supprimer les entrées de permission pour tout autre utilisateur (par exemple, SYSTEM, Administrator)
  • Ajouter une entrée pour un utilisateur spécial Tout le monde et modifiez les autorisations de cet utilisateur en refusant toutes les autorisations :
    • Cliquez avec le bouton droit de la souris sur le fichier dans l'Explorateur Windows et choisissez Propriétés > Sécurité > Avancé, pour obtenir la boîte de dialogue Paramètres de sécurité avancés.
    • Cliquez sur l'onglet Autorisations, puis sur Modifier les autorisations.
    • Cliquez sur Ajouter, saisissez Tout le monde dans le champ du nom de l'objet, cliquez sur Vérifier les noms, puis cliquez sur OK.
    • Dans la boîte de dialogue Entrée des autorisations, cochez la case de la colonne Refuser pour le contrôle total.
    • Cliquez sur OK dans chaque boîte de dialogue pour faire marche arrière et fermer la boîte de dialogue des propriétés du fichier.

Maintenant scp lira les permissions 0400 et sera content. Ish.

8voto

Jonathan Leaders Points 317

Pour unix et OSX

Tout simplement :

chown -R $USER:users ~/.ssh/
chmod -R 600 ~/.ssh/

Pour Windows

Si le fichier est un lien symbolique Windows (NTFS), la méthode ci-dessus ne fonctionnera pas. Vous devez en faire un fichier normal. Je ne sais pas exactement pourquoi.

Si vous n'avez pas openssh ou cygwin, utilisez chocolatey pour l'installer facilement en utilisant chocolaté .

choco install cyg-get

Ouvrir le terminal Cygwin qui a été installé avec chocolatey et exécuté (notez que ssh-keygen crée de nouvelles clés) :

cyg-get install openssh
ssh-keygen
cd ~/.ssh && explorer.exe .

Vérifiez que les clés sont là (ou remplacez-les par les clés que vous voulez), puis dans le shell Cygwin :

chown -R $USER:users ~/.ssh/
chmod -R 600 ~/.ssh/

Ou, dans le cas rare où vous utilisez (et avez généré les clés à partir de) SSH de chocolatey paquet :

chown -R $USER:users  /cygdrive/c/Users/$USER/.ssh
chmod -R 600 /cygdrive/c/Users/$USER/.ssh

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X