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.