ssh “les autorisations sont trop ouvert” erreur
J'ai eu un problème avec mon mac où je ne pouvais pas enregistrer tout type de fichier sur le disque plus.
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 référentiel j'obtiens l'erreur suivante à partir 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.
Ce que les niveaux d'autorisation devrais-je donner à la id_rsa fichier?
- Merci d'avoir posé la quesiton. Une meilleure expérience serait pour celui qui a écrit ce message d'erreur pour suggérer quelques configurations valides (comme les 600 ou 400 comme indiqué ci-dessous). Les programmeurs de ne pas écrire suffisamment complète des messages d'erreur qui sont utiles ont été torturer tous de nous depuis des années!
InformationsquelleAutor Yannick Schall | 2012-02-14
Vous devez vous connecter pour publier un commentaire.
Clés doivent être lisibles seulement par vous:
600 semble être très bien (en fait de mieux dans la plupart des cas, parce que vous n'avez pas besoin de modifier les autorisations de fichier pour le modifier).
La partie pertinente de la page de manuel (
man ssh
)id_rsa
à l'intérieur de.ssh
dossier, j'ai donc modifié l'autorisation de celui-ci sur mon bureau puis copié sur.ssh
dossier avec ce code aprèscd desktop
utilisationcp -frp id_rsa ~/.ssh
puis ajouterssh-add -K id_rsa
chmod 400
ne fonctionne pas pour moi, en dépit de l'absence d'avertissement ou d'erreur, le fichier des autorisations n'étaient tout simplement pas changé - comme si la commande n'a rien fait. Comme ce doit être parce que ma clé privée a été à l'intérieur d'un dossier partagé entre une machine virtuelle et son hôte de la machine (c'est à dire, chmod être comme "hey, c'est publiquement accessible, donc pas de nouvelles autorisations de fichier pour vous!"). J'ai donc déplacé la clé de~/.ssh/private_key
, chmodé il de plus dans ce dossier, à la place, et maintenant tout fonctionne.L'utilisation de Cygwin sous Windows 8.1, il y a une commande à exécuter:
Alors la solution posté ici peut être appliquée, 400 ou 600 est OK.
Ref: http://vineetgupta.com/blog/cygwin-permissions-bug-on-windows-8
C:\cygwin64
) donc il a probablement hérité les autorisations. Étrange que ce n'était pas le cas sur d'autres portables que j'ai possédé.chmod 600 ~/.ssh/id_rsa
. Ensuite, exécutez ssl -L xxxx id_rsa. il me demande de l'authenticité de l'hôte " ci-smartface.westeurope.cloudapp.azure.com (13.94.213.109)' ne peut pas être établie. ECDSA empreinte de clé est aaaa. Êtes-vous sûr de vouloir continuer à connecter (oui/non)?. - Je entrer "oui", même message d'erreur est exister AVERTISSEMENT: non protégée du FICHIER de CLÉ PRIVÉE! .Les paramètres régionaux indépendants solution qui fonctionne sur Windows 8.1 est:
GID 545 est un ID spéciale qui se réfère toujours à "Utilisateurs" du groupe, même si vous locale utilise un autre mot pour les Utilisateurs.
0600 est ce que le mien est fixé à (et ça fonctionne)
Autant que je sache, les valeurs sont:
700 pour le répertoire caché ".ssh" où le fichier clé est situé
600 pour le fichier "id_rsa"
Il existe une exception à la "0x00" autorisations d'exigence sur une touche. Si la clé est détenue par le root et le groupe détenu par un groupe d'utilisateurs, il peut être "0440" et tout utilisateur de ce groupe peut utiliser la clé.
Je crois que cela va fonctionner 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 pas de le groupe principal de l'utilisateur, mais un groupe secondaire, et il fonctionne très bien.
Ce serait généralement pas faire pour quelqu'un du personnel clé, mais pour une clé utilisée pour l'automatisation, dans une situation où vous ne voulez pas l'application pour être en mesure de jouer avec la clé.
Des règles similaires s'appliquent à l' .ssh répertoire des restrictions.
400 permission,
exécuter la commande ci-dessous
J'ai obtenu l'erreur dans mon windows 10 alors je l'ai mis exprès, comme le suivant, et cela fonctionne.
En détails, en supprimer d'autres utilisateurs/groupes jusqu'à ce qu'il n'a qu' 'SYSTÈME' et 'Administrateurs'. Ajoutez ensuite votre identifiant windows en elle avec la permission de Lecture seulement.
Note le
id_rsa
fichier est sous lac:\users\<username>
dossier.Sur Windows 10, cygwin est chown et chgrp, n'était pas assez pour moi. J'ai dû faire un clic droit sur le fichier -> Propriétés -> Sécurité (onglet) et supprimer tous les utilisateurs et les groupes, sauf pour mon utilisateur actif.
ce qui a fonctionné pour moi
C'est ce qui a fonctionné pour moi (sur mac)
alors :
Espoir aide
Interessant message ici.
D'exploitation Syatems sont assez intelligents pour refuser les connexions à distance si votre clé privée est trop ouvert. Il comprend le risque où les autorisations pour id_rsa est grande ouverte (lire, est edittable par personne).
{ Que l'on peut avoir changé votre verrouillage d'abord, puis l'ouvrir avec les clés qu'il avait déjà. }
PS:
Tout en travaillant sur de multiples serveurs (non-production), la plupart d'entre nous se sentent le besoin de se connecter serveur distant avec ssh. Une bonne idée est d'avoir une pice de niveau d'application du code (peut-être java à l'aide de jsch) pour créer ssh fiducies entre les serveurs. De cette façon connexion sans mot de passe. Encas, perl est installé, on peut utiliser net ssh module de trop.
Pour moi (à l'aide de la sous-système Ubuntu Linux) le message d'erreur changé:
après aide de la commande chmod 400.
Il s'avère que l'utilisation de root comme utilisateur par défaut est la raison.
Changer cela en utilisant le cmd:
J'ai tombé sur cette erreur alors que je jouais avec Ansible. J'ai changé les autorisations de la clé privée à 600 afin de résoudre ce problème. Et cela a fonctionné!
J'ai essayé de 600 niveau d'autorisation pour ma clé privée et il a travaillé pour moi.
chmod 600 privateKey
[dev]$ ssh -je privateKey user@ip
travaillé
chmod 755 privateKey
[dev]$ ssh -je privateKey user@ip
qu'elle apporte à la question ci-dessous:
Les autorisations 0755 pour "privateKey' sont trop ouvert.
Il est nécessaire que vos fichiers de clés privées ne sont PAS accessibles par les autres.
Cette clé privée sera ignoré.
Chargement de la clé "privateKey": mauvaises permissions
Je suis à l'aide de VPC sur EC2 et a été d'obtenir les mêmes messages d'erreur. J'ai remarqué que j'ai été en utilisant le DNS public. J'ai changé les DNS privé et vola!! il a travaillé...
pour Win10 besoin de déplacer votre clé à l'accueil de l'utilisateur dir
pour linuxlike os vous avez besoin de faire un chmod 700 aime ou 600 etc.