572 votes

ssh renvoie "Bad owner or permissions on ~/.ssh/config" (mauvais propriétaire ou autorisations sur ~/.ssh/config)

Lorsque j'essaie de me connecter à une autre boîte, j'obtiens cette erreur étrange

$ ssh hostname
Bad owner or permissions on ~/.ssh/config

Mais je me suis assuré que je possède et que j'ai les permissions rw sur le fichier :

ls -la ~/.ssh/
total 40K
drwx------ 2 robert robert 4.0K Mar 29 11:04 ./
drwx------ 7 robert robert 4.0K Mar 29 11:04 ../
-rw-r--r-- 1 robert robert 2.0K Mar 17 20:47 authorized_keys
-rw-rw-r-- 1 robert robert   31 Mar 29 11:04 config
-rw------- 1 robert robert 1.7K Aug  4  2010 id_rsa
-rw-r--r-- 1 robert robert  406 Aug  4  2010 id_rsa.pub
-rw-r--r-- 1 robert robert 6.1K Mar 29 11:03 known_hosts

0 votes

Je viens d'avoir le même message. Mon cas était différent. J'avais un problème global IdentityFile ~/.ssh/id_rsa Ainsi, lorsque j'ai essayé d'accéder à user@myserver.com, il a essayé d'utiliser cet id_rsa sans me demander le mot de passe. Évitez le fichier d'identité global et tout se passera bien.

874voto

Alexander Prokofyev Points 14183

J'avais besoin d'avoir des permissions rw pour l'utilisateur seulement sur la configuration. Ceci a réglé le problème.

chmod 600 ~/.ssh/config

Comme d'autres l'ont noté ci-dessous, il pourrait s'agir du propriétaire du fichier. (upvotez-les !)

chown $USER ~/.ssh/config

Si tout votre dossier a des permissions invalides, voici un tableau des permissions possibles :

Chemin d'accès

Permission

Répertoire .ssh ( code )

0700 (drwx------)

les clés privées (ex : id_rsa ) ( code )

0600 (-rw-------)

config

0600 (-rw-------)

les clés publiques (*.pub ex : id_rsa.pub )

0644 (-rw-r--r--)

authorized_keys ( code )

0644 (-rw-r--r--)

known_hosts

0644 (-rw-r--r--)

Sources :

113voto

Zafar Points 241

Ces commandes devraient résoudre le problème de permission :

chown $USER ~/.ssh/config
chmod 644 ~/.ssh/config

Préfixe avec sudo si les fichiers appartiennent à un autre utilisateur (ou si vous n'y avez pas accès).

Si d'autres fichiers sont concernés, remplacez config con * .

Sur man ssh on peut lire :

En raison du potentiel d'abus, ce fichier doit avoir des permissions strictes : lecture/écriture pour l'utilisateur, et pas d'écriture pour les autres. accessible en écriture par d'autres personnes. Il peut être accessible en écriture par un groupe à condition que le groupe en question ne contienne que l'utilisateur.

19voto

yapingchen Points 142

Pour moi, c'était un problème avec mon compte utilisateur qui n'était pas le propriétaire du fichier.

sudo chown myuser ~/.ssh/config

16voto

Dragos Points 1329

Si vous êtes sur le sous-système Windows pour Linux (WSL) et que vous avez fait pointer votre répertoire personnel WSL vers votre répertoire personnel Windows (ce qui n'est pas recommandé !), alors chmod n'a aucun effet. Avant de pouvoir chmod les fichiers mentionnés dans les autres réponses, vous devez ajouter

[automount]
options = "metadata"

à votre /etc/wsl.conf puis redémarrez WSL (nécessite la version 17093 ou ultérieure).

Avant que Mount ne dise :

C: on /mnt/c type drvfs (rw,noatime,uid=1000,gid=1000,case=off)

Après le mont dit :

C: on /mnt/c type drvfs (rw,noatime,uid=1000,gid=1000,metadata,case=off)

4voto

N'oubliez pas le groupe :

chown $USER:$USER ~/.ssh/config

:-)

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