Question ssh "les autorisations sont trop ouvertes" erreur


J'ai eu un problème avec mon mac où je ne pouvais plus enregistrer aucun type de fichier sur le disque. J'ai dû redémarrer OSX lion et réinitialiser les autorisations sur les fichiers et les ACL.

Mais maintenant, quand je veux commettre un dépôt, j'obtiens l'erreur suivante de ssh:

Permissions 0777 for '/Users/username/.ssh/id_rsa' are too open.
It is recommended that your private key files are NOT accessible by others.
This private key will be ignored.

Quels niveaux d'autorisation dois-je donner au fichier id_rsa?


1268
2018-02-14 02:02


origine


Réponses:


Les clés doivent être lisibles seulement par vous:

chmod 400 ~/.ssh/id_rsa

600 semble être bien aussi (en fait, mieux dans la plupart des cas, parce que vous n'avez pas besoin de changer les permissions de fichiers pour l'éditer).

La partie pertinente de la page de manuel (man ssh)

 ~/.ssh/id_rsa
         Contains the private key for authentication.  These files contain sensitive 
         data and should be readable by the user but not
         accessible by others (read/write/execute).  ssh will simply ignore a private 
         key file if it is              
         accessible by others.  It is possible to specify a
         passphrase when generating the key which will be used to encrypt the sensitive 
         part of this file using 3DES.

 ~/.ssh/identity.pub
 ~/.ssh/id_dsa.pub
 ~/.ssh/id_ecdsa.pub
 ~/.ssh/id_rsa.pub
         Contains the public key for authentication.  These files are not sensitive and 
         can (but need not) be readable by anyone.

2183
2018-02-14 02:05



En utilisant Cygwin dans Windows 8.1, il y a une commande à exécuter:

Utilisateurs chgrp ~ / .ssh / id_rsa

Ensuite, la solution affichée ici peut être appliquée, 400 ou 600 est OK.

chmod 600 ~ / .ssh / id_rsa

Ref: http://vineetgupta.com/blog/cygwin-permissions-bug-on-windows-8


77
2018-04-11 11:17



La solution indépendante des paramètres régionaux qui fonctionne sur Windows 8.1 est la suivante:

chgrp 545 ~/.ssh/id_rsa
chmod 600 ~/.ssh/id_rsa

Le GID 545 est un ID spécial Cela fait toujours référence au groupe "Utilisateurs", même si les paramètres régionaux utilisent un mot différent pour les utilisateurs.


29
2018-02-21 15:51



0600 est ce que le mien est réglé (et ça marche)


22
2018-02-14 02:04



AFAIK les valeurs sont:

700 pour le répertoire caché ".ssh" où le fichier de clé est situé

600 pour le fichier de clés "id_rsa"


20
2017-11-13 07:57



Il y a une exception à l'exigence d'autorisations "0x00" sur une clé. Si la clé appartient à root et à un groupe appartenant à un groupe avec des utilisateurs, elle peut être "0440" et n'importe quel utilisateur de ce groupe peut utiliser la clé.

Je crois que cela fonctionnera avec toutes les autorisations dans l'ensemble "0xx0" mais je n'ai pas testé toutes les combinaisons avec chaque version. J'ai essayé 0660 avec 5.3p1-84 sur CentOS 6, et le groupe n'est pas le groupe primaire de l'utilisateur mais un groupe secondaire, et cela fonctionne très bien.

Ce n'est généralement pas fait pour la clé personnelle de quelqu'un, mais pour une clé utilisée pour l'automatisation, dans une situation où vous ne voulez pas que l'application soit en mesure de jouer avec la clé.

Des règles similaires s'appliquent aux restrictions du répertoire .ssh.


13
2017-11-13 17:18



ce qui a fonctionné pour moi

chgrp Users FOLDER

chmod 600 FOLDER


5
2018-03-26 22:54



Message intersting ici. Les Syatems d'exploitation sont assez intelligents pour refuser les connexions distantes si votre clé privée est trop ouverte. Il comprend le risque où les autorisations pour id_rsa sont grandes ouvertes (lire, est éditable par n'importe qui).

{Il se peut que vous ayez changé votre serrure en premier et que vous l'ayez ouverte avec les clés qu'il avait déjà. }

cd ~/.ssh
chmod 400 id_rsa

PS:

Tout en travaillant sur plusieurs serveurs (non-production), la plupart d'entre nous ressentons le besoin de connecter le serveur distant avec ssh. Une bonne idée est d'avoir une pièce de code au niveau de l'application (peut être java en utilisant jsch) pour créer des approbations ssh entre les serveurs. De cette façon, la connexion sera sans mot de passe. Incase, perl est installé - on peut aussi utiliser le module net ssh.


2
2018-05-13 07:35



J'ai rencontré cette erreur pendant que je jouais avec Ansible. J'ai changé les permissions de la clé privée pour 600 afin de résoudre ce problème. Et ça a marché!

chmod 600 .vagrant/machines/default/virtualbox/private_key

1
2018-04-02 15:53



Sur Windows 10, chmod et chgrp de cygwin n'étaient pas suffisants pour moi. J'ai dû faire un clic droit sur le fichier -> Propriétés -> Sécurité (onglet) et supprimer tous les utilisateurs et groupes à l'exception de mon utilisateur actif.


0
2017-07-21 05:39



J'utilise VPC sur EC2 et recevait les mêmes messages d'erreur. J'ai remarqué que j'utilisais le DNS public. J'ai changé cela pour le DNS privé et vola !! ça a marché...


-2
2018-03-12 13:34