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

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 à user@myserver.com, 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

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.


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

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)
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.