L'impostazione di SSH / Git su Cygwin produce "Permessi errati su ~ / .ssh / config"

Sto tentando di configurare Git con OpenSSH sotto Cygwin. Ho quasi ottenuto tutto il setup. Ho l'agente e la chiave pubblica e tutto questo .. ma ora ho questo errore davvero strano:

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

Google sembra essere un errore di autorizzazioni (ovviamente). Un problema: le autorizzazioni sono belle per me.

Ho anche provato a fare un chmod 0600 ~/.ssh/config , ma questo non ha aiutato. Quello che ho provato a fare:

 [email protected] ~/dev/NonExceptional $ chmod 0600 ~/.ssh/config [email protected] ~/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 

Si noti che per qualsiasi motivo, le autorizzazioni sembrano ancora essere 0660 . Non capisco perché però. Ho verificato queste autorizzazioni in Esplora risorse. Solo ho accesso al file e quando controlla l'"accesso effettivo", gli utenti di gruppo non hanno accesso al file.

Come posso risolvere questo errore?

Inoltre, alcuni aspetti: Windows 8 Enterprise. Iscritto a un dominio (che rende sempre le autorizzazioni divertenti). Cygwin è aggiornato

Non dimenticare gli ACL

Niente ha funzionato per me finché non ho rimosso il file di ACL e ho resettato le autorizzazioni.

 #remove ACLs setfacl -b ~/.ssh/config #reset permissions chmod 0600 ~/.ssh/config 

È ansible utilizzare getfacl per visualizzare l'ACL corrente in un file.

 getfacl ~/.ssh/config 

Prima di rimuovere gli ACL (rotto):

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

Dopo il lavoro)

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

Ha scoperto che questo lo risolve sempre:

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

Il problema finì per essere che il file era di properties; del gruppo "None". Ho cambiato il gruppo in "Utenti" e ho potuto liberamente cambiare le autorizzazioni

Ho capito questa cosa da questa domanda correlata

Questa soluzione mi ha aiutato:

 cd ~/.ssh chmod 600 * 

Questi comandi dovrebbero funzionare:

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

Prefisso con sudo se i file sono di properties; di diversi utenti.

Se sono interessati più file, sostituire la config con * .

man ssh possiamo leggere:

A causa del potenziale abuso, questo file deve avere autorizzazioni rigorose: leggere / scrivere per l'utente e non scrivibili da altri utenti. Può essere scrivibile a livello di gruppo se il gruppo in questione contiene solo l'utente.

Questo ha funzionato per le windows dalla scheda Proprietà delle properties; di file di Windows aggiungere il richiesto USER come proprietario cd alla posizione in cui il file di configuration presente quindi ssh ad ospitare

Il mio cygwin64 su win7 che funziona come admin, il chmod / chown / setacl / icacls / copyacls / non ha aiutato; solo questo funzionava: ssh -F ~/.ssh/config ...

Il file di configuration è scrivibile per il gruppo e SSH non gradisce. Fai a

chmod go-rw ~ / .ssh / config