Configurar SSH/Git no Cygwin produz "Permissões incorretas em ~/.ssh/config"

Configurar SSH/Git no Cygwin produz "Permissões incorretas em ~/.ssh/config"

Estou tentando configurar o Git com OpenSSH no Cygwin. Quase configurei tudo. Eu tenho o agente e a chave pública e tudo mais. Mas agora 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

Pesquisar no Google parece ser um erro de permissão (é claro). Um problema: as permissões parecem boas para mim.

Eu também tentei fazer um chmod 0600 ~/.ssh/config, mas isso não ajudou. O que 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 o porquê. Verifiquei essas permissões no Windows Explorer. Somente eu tenho acesso ao arquivo, e ao marcar o “acesso efetivo”, o grupo Usuários não tem acesso ao arquivo.

Como faço para corrigir esse erro?

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

Responder1

Não se esqueça das ACLs

Nada funcionou para mim até que eu retirei o arquivo deACLse redefina as permissões.

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

#reset permissions
chmod 0600 ~/.ssh/config

Você pode usar getfaclpara visualizar 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 de trabalhar)

# file: config
# owner: myusername
# group: None
user::rw-
group::---
other:---

Responder2

Descobri que isso sempre corrige:

chown Username:Users ~/.ssh/config
chmod go-rw ~/.ssh/config

Responder3

O problema acabou sendo que o arquivo pertencia ao grupo "Nenhum". Mudei o grupo para "Usuários" e então pude alterar livremente as permissões

Eu descobri isso deesta questão relacionada

Responder4

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

informação relacionada