ssh renvoie “Mauvais propriétaire ou autorisations sur ~ / .ssh / config”

366

Lorsque j'essaie de passer à 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 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
Robert
la source
Je viens d'avoir le même message. Mon cas était différent. J'avais un IdentityFile ~/.ssh/id_rsaensemble global , alors quand j'essayais d'accéder à [email protected], il essayait d'utiliser cet id_rsa sans me demander le mot de passe. Évitez le fichier global IdentityFile et tout ira bien.
Giovannipds

Réponses:

569

J'avais besoin d'avoir rw pour les autorisations uniquement utilisateur sur config. Cela l'a corrigé.

chmod 600 ~/.ssh/config

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

chown $USER ~/.ssh/config
Robert
la source
22
Parfois, ce ne sont pas seulement les autorisations, mais également le propriétaire qui peuvent causer le problème. dans mon cas, je devais faire la même chose:chown -R robert:robert ~/.ssh
Nicolas C
3
Dans mon cas, passer de 644 à 600 a fait l'affaire.
Magicsowon
2
Une simple autorisation de lecture devrait suffire, c'est400
030
1
Pour moi, 600n'a pas fonctionné, seulement 400(sur Ubuntu Xenial)
Martín Coll
@ 030 Tant que vous n'avez pas l'intention de modifier le fichier ..
Sean the Bean
64

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

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

Préfixe avec sudosi les fichiers appartiennent à différents utilisateurs (ou si vous n'y avez pas accès).

Si plus de fichiers sont affectés, remplacez configpar *.

Dans man sshon peut lire:

En raison des risques d’abus, ce fichier doit avoir des autorisations strictes: lecture / écriture pour l’utilisateur, et inscriptible par d’autres. Il peut être écrit en groupe à condition que le groupe en question ne contienne que l'utilisateur.

Kenorb
la source
3
Cela a fait le tour pour moi. J'utilise cygwin et cygwin .ssh est lié symboliquement à l'utilisateur Windows .ssh. Je devais exécuter ces commandes dans la fenêtre de cygwin.
Damodar Bashyal
Cela a fonctionné pour moi.
Viraj.Hadoop
12

Pour moi, le problème était que mon compte d'utilisateur n'était pas le propriétaire du fichier.

sudo chown myuser ~/.ssh/config
svnm
la source
2

Par défaut, sur WSL (Windows Subsystem for Linux), chmod n’a aucun effet. Avant que vous puissiez chmodles fichiers mentionnés dans d'autres réponses, vous devez ajouter

[automount]
options = "metadata"

à votre /etc/wsl.confpuis redémarrez WSL (nécessite la construction 17093 ou ultérieur).

Avant de monter dit:

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

Après le montage dit:

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