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
Robert
fuente
Acabo de recibir el mismo mensaje. Mi caso fue diferente. Estaba teniendo un IdentityFile ~/.ssh/id_rsaconjunto global , así que cuando intentaba acceder a [email protected] 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
Robert
fuente
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.

kenorb
fuente
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
svnm
fuente
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)
Nathan Kidd
fuente