ssh devuelve "Propietario incorrecto o permisos en ~ / .ssh / config"


366

Cuando trato de pasar a otro cuadro, aparece este extraño error

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

Pero me aseguré de poseer y tener permisos rw en el archivo:

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

Acabo de recibir el mismo mensaje. Mi caso fue diferente. Estaba teniendo un IdentityFile ~/.ssh/id_rsaconjunto global , así que cuando intentaba acceder a user@myserver.com intentaba usar esa id_rsa sin preguntarme la contraseña. Evite el IdentityFile global y todo saldrá bien.
— giovannipds

Respuestas:


569

Necesitaba tener rw para permisos solo de usuario en config. Esto lo solucionó.

chmod 600 ~/.ssh/config

Como otros han señalado a continuación, podría ser el propietario del archivo. (¡vótelos!)

chown $USER ~/.ssh/config

22
A veces, no solo son los permisos, sino también el propietario los que pueden causar el problema; en mi caso, tuve que hacer esto también:chown -R robert:robert ~/.ssh
— Nicolas C

3
En mi caso, pasar de 644 a 600 hizo el truco.
— Magicsowon

2
Solo leer el permiso debería ser suficiente, es decir400
— 030

1
Para mí, 600no funcionó, solo 400(en Ubuntu Xenial)
— Martín Coll

@ 030 Siempre y cuando no tenga la intención de editar el archivo ...
— Sean the Bean

64

Estos comandos deberían solucionar el problema de permisos:

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

Prefijo con sudosi los archivos son propiedad de un usuario diferente (o si no tiene acceso a ellos).

Si hay más archivos afectados, reemplácelos configcon *.

En man sshpodemos leer:

Debido a la posibilidad de abuso, este archivo debe tener permisos estrictos: lectura / escritura para el usuario y no para que otros puedan escribirlo. Puede ser de escritura grupal siempre que el grupo en cuestión contenga solo al usuario.


3
Esto hizo el truco para mí. Estoy usando cygwin y cygwin .ssh está vinculado al usuario de Windows .ssh. Tuve que ejecutar esos comandos en la ventana de Cygwin.
— Damodar Bashyal

Esto funcionó para mí.
— Viraj.Hadoop

12

Para mí fue un problema con mi cuenta de usuario no ser el propietario del archivo

sudo chown myuser ~/.ssh/config

2

Por defecto en WSL (Windows Subsystem for Linux) chmod no tiene ningún efecto. Antes de poder chmodusar los archivos mencionados en otras respuestas, debe agregar

[automount]
options = "metadata"

a su /etc/wsl.confcontinuación, reinicie WSL (requiere construir 17093 o posterior).

Antes de que el monte diga:

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

Después de que el monte diga:

C: on /mnt/c type drvfs (rw,noatime,uid=1000,gid=1000,metadata,case=off)
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.