Configurar o SSH / Git no Cygwin produz “Permissões ruins em ~ / .ssh / config”

6

Estou tentando configurar o Git com o OpenSSH no Cygwin. Eu quase consegui configurar tudo. Eu tenho o agente e a chave pública e tudo isso .. mas agora eu recebo este erro muito estranho:

$ git pull -u origin master
Bad owner or permissions on /home/Jordan/.ssh/config
fatal: The remote end hung up unexpectedly

Pesquisando, parece ser um erro de permissão (é claro). Um problema: as permissões parecem ótimas para mim.

Eu também tentei fazer um chmod 0600 ~/.ssh/config , mas isso não ajudou. O que eu tentei fazer:

Jordan@EarlzWindows8VM ~/dev/NonExceptional
$ chmod 0600 ~/.ssh/config 

Jordan@EarlzWindows8VM ~/dev/NonExceptional
$ stat ~/.ssh/config 
  File: '/home/Jordan/.ssh/config'
  Size: 47              Blocks: 1          IO Block: 65536  regular file
Device: 4ade2efdh/1256075005d   Inode: 1970324837237461  Links: 1
Access: (0660/-rw-rw----)  Uid: ( 1001/  Jordan)   Gid: (  513/    None)
Access: 2013-01-12 22:53:32.483072600 -0500
Modify: 2013-01-12 22:53:32.486074700 -0500
Change: 2013-01-12 23:27:33.077476800 -0500
 Birth: 2013-01-12 22:53:32.483072600 -0500

Observe que, por qualquer motivo, as permissões ainda parecem ser 0660 . Eu não entendo porque. Eu verifiquei essas permissões no Windows Explorer. Só tenho acesso ao arquivo, e ao verificar o "efetivo acesso", o grupo Usuários não tem acesso ao arquivo.

Como corrijo esse erro?

Além disso, alguns antecedentes: o Windows 8 Enterprise. Registrado em um domínio (que sempre torna as permissões divertidas). Cygwin está atualizado

    
por Earlz 13.01.2013 / 05:31

8 respostas

4

O problema acabou sendo que o arquivo era de propriedade do grupo "None". Eu mudei o grupo para "Usuários" e então eu poderia alterar livremente as permissões

Eu percebi isso de esta questão relacionada

    
por 15.01.2013 / 20:19
15

Não se esqueça das ACLs

Nada funcionou para mim até que tirei o arquivo de ACLs e redefini as permissões .

#remove ACLs
setfacl -b ~/.ssh/config

#reset permissions
chmod 0600 ~/.ssh/config

Você pode usar getfacl para ver a ACL atual em um arquivo.

getfacl ~/.ssh/config

Antes de remover as ACLs (quebradas):

# owner: Administrators
# group: None
user::rw-
group::---
group:Authenticated Users:rwx
group:SYSTEM:rwx
mask:rwx
other:---

Depois: (trabalhando)

# file: config
# owner: myusername
# group: None
user::rw-
group::---
other:---
    
por 10.02.2015 / 05:03
7

Iv'e descobriu que isso sempre corrige:

chown Username:Users ~/.ssh/config
chmod go-rw ~/.ssh/config
    
por 02.02.2013 / 21:29
2

Essa solução me ajudou:

cd ~/.ssh
chmod 600 *
    
por 25.08.2014 / 15:52
1

Meu cygwin64 no win7 rodando como admin, o chmod / chown / setacl / icacls / copyacls / não ajudou; só isso funcionou: ssh -F ~/.ssh/config ...

    
por 28.03.2017 / 09:09
0

Estes comandos devem funcionar:

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

Prefixo com sudo se os arquivos forem de usuário diferente.

Se mais arquivos forem afetados, substitua config por * .

Em man ssh , podemos ler:

Because of the potential for abuse, this file must have strict permissions: read/write for the user, and not writable by others. It may be group-writable provided that the group in question contains only the user.

    
por 03.08.2015 / 13:28
0

Este trabalhou para janelas na guia "Proprietário" das propriedades do arquivo do Windows, adicione o usuário necessário como proprietário cd para o local onde o arquivo de configuração presente então ssh para hospedar

    
por 19.01.2016 / 20:23
-2

Seu arquivo de configuração é gravável para o grupo, e o SSH não gosta disso. Faça um

chmod go-rw ~ / .ssh / config

    
por 15.01.2013 / 20:09