ssh retorna "Proprietário inválido ou permissões em ~ / .ssh / config"


366

Quando tento ssh para outra caixa, recebo este erro estranho

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

Mas assegurei-me de possuir e ter permissões rw no arquivo:

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

Eu apenas tive a mesma mensagem. Meu caso foi diferente. Eu estava tendo um IdentityFile ~/.ssh/id_rsaconjunto global ; portanto, quando estava tentando acessar user@myserver.com, estava tentando usar esse id_rsa sem me questionar a senha. Evite o IdentityFile global e tudo correrá bem.
— giovannipds

Respostas:


569

Eu precisava ter rw para permissões somente de usuário na configuração. Isso consertou.

chmod 600 ~/.ssh/config

Como outros observaram abaixo, pode ser o proprietário do arquivo. (vote-os!)

chown $USER ~/.ssh/config

22
Às vezes, não são apenas as permissões, mas também o proprietário que pode causar o problema; no meu caso, eu tinha que fazer isso também:chown -R robert:robert ~/.ssh
— Nicolas C

3
No meu caso, passar de 644 para 600 fez o truque.
— Magicsowon 18/10/19

2
Apenas a permissão de leitura deve ser suficiente, ou seja,400
— 030

1
Para mim, 600não funcionou, única 400(no Ubuntu hospitaleiro)
— Martín Coll

@ 030 Contanto que você não pretenda editar o arquivo ..
— Sean the Bean

64

Estes comandos devem corrigir o problema de permissão:

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

Prefixe sudose os arquivos pertencem a um usuário diferente (ou você não tem acesso a eles).

Se mais arquivos forem afetados, substitua configpor *.

Em man sshpodemos ler:

Devido ao potencial abuso, esse arquivo deve ter permissões estritas: leitura / gravação para o usuário e não gravável por outros. Pode ser gravável em grupo, desde que o grupo em questão contenha apenas o usuário.


3
Isso fez o truque para mim. Estou usando o cygwin e o cygwin .ssh está vinculado ao usuário do Windows .ssh. Eu tive que executar esses comandos na janela do cygwin.
— Damodar Bashyal

Isso funcionou para mim.
— Viraj.Hadoop

12

Para mim, foi um problema com a minha conta de usuário não ser o proprietário do arquivo

sudo chown myuser ~/.ssh/config

2

Por padrão, no WSL (Windows Subsystem para Linux), o chmod não tem efeito. Antes de poder chmodos arquivos mencionados em outras respostas, você deve adicionar

[automount]
options = "metadata"

para /etc/wsl.confreiniciar o WSL (requer a compilação 17093 ou posterior).

Antes da montagem diz:

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

Após a montagem diz:

C: on /mnt/c type drvfs (rw,noatime,uid=1000,gid=1000,metadata,case=off)
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.