Recientemente no he podido clonar o empujar a github, y estoy tratando de encontrar la causa raíz.
Esto está en windows
Tengo cygwin + git y msysgit.
Msysgit se instaló con las siguientes opciones:
- OpenSSH
- Use Git desde el símbolo del sistema de Windows
Eso me da 4 entornos para tratar de usar git en:
- Indicador de cmd de Windows
- Potencia Shell
- Git Bash
- Cygwin
De alguna manera me las arreglé para colocarme en una posición en la que cuando trato de clonar un repositorio usando msysgit, cmd.exe o Powershell, aparece el siguiente error:
> Initialized empty Git repository in
> C:/sandbox/SomeProject/.git/
> @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
> @ WARNING: UNPROTECTED PRIVATE KEY FILE! @
> @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
> Permissions 0644 for
> '/c/Users/Ben/.ssh/id_rsa' are too
> open. It is recommended that your
> private key files are NOT accessible
> by others. This private key will be
> ignored. bad permissions: ignore key:
> /c/Users/Ben/.ssh/id_rsa Permission
> denied (publickey). fatal: The remote
> end hung up unexpectedly
Esto está usando la carpeta .ssh en mi carpeta c: \ users \ ben \, que es lo que usa msysgit. Sospecho que cygwin funciona porque la carpeta .ssh se encuentra en otro lugar, pero no estoy seguro de por qué
En Git Bash, verifico los permisos:
$ ls -l -a ~/.ssh
Lo que me da:
drwxr-xr-x 2 Ben Administ 0 Oct 12 13:09 .
drwxr-xr-x 34 Ben Administ 8192 Oct 12 13:15 ..
-rw-r--r-- 1 Ben Administ 1743 Oct 12 12:36 id_rsa
-rw-r--r-- 1 Ben Administ 399 Oct 12 12:36 id_rsa.pub
-rw-r--r-- 1 Ben Administ 407 Oct 12 13:09 known_hosts
Estos permisos son aparentemente demasiado relajados. Cómo llegaron de esta manera, no tengo idea.
Puedo intentar cambiarlos ...
$ chmod -v -R 600 ~/.ssh
que me dice
mode of `.ssh' changed to 0600 (rw-------)
mode of `.ssh/id_rsa' changed to 0600 (rw-------)
mode of `.ssh/id_rsa.pub' changed to 0600 (rw-------)
mode of `.ssh/known_hosts' changed to 0600 (rw-------)
Pero parece no tener efecto. Sigo teniendo el mismo error y haciendo
$ ls -l -a ~/.ssh
produce los mismos permisos que antes.
ACTUALIZAR:
Traté de arreglar los permisos de esos archivos en cygwin, y cygwin informa sus permisos correctamente, gitbash no: alt text http://cdn.cloudfiles.mosso.com/c54102/app7962031255448924.jpg
¿Alguna idea sobre cómo puedo realmente corregir estos permisos?