Récemment, je n'ai pas pu cloner ou pousser vers github, et j'essaie de trouver la cause première.
C'est sur windows
J'ai cygwin + git ainsi que msysgit.
Msysgit a été installé avec les options suivantes:
- OpenSSH
- Utiliser Git à partir de l'invite de commandes Windows
Cela me donne 4 environnements pour essayer d'utiliser git dans:
- Invite cmd de Windows
- Powershell
- Git Bash
- Cygwin
D'une manière ou d'une autre, j'ai réussi à me mettre dans une position où lorsque j'essaie de cloner un référentiel à l'aide de msysgit, cmd.exe ou Powershell, j'obtiens l'erreur suivante:
> 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
Cela utilise le dossier .ssh dans mon dossier c: \ users \ ben \, qui est utilisé par msysgit. Je soupçonne que cygwin fonctionne parce que le dossier .ssh est situé ailleurs, mais je ne sais pas pourquoi
Dans Git Bash, je vérifie les autorisations:
$ ls -l -a ~/.ssh
Ce qui me donne:
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
Ces autorisations sont apparemment trop détendues. Comment ils sont arrivés de cette façon, je n'en ai aucune idée.
Je peux essayer de les changer ...
$ chmod -v -R 600 ~/.ssh
ce qui me dit:
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-------)
Mais cela semble n'avoir aucun effet. Je reçois toujours la même erreur, et en faisant
$ ls -l -a ~/.ssh
donne les mêmes autorisations qu'auparavant.
METTRE À JOUR:
J'ai essayé de corriger les autorisations sur ces fichiers dans cygwin, et cygwin signale leurs autorisations correctement, gitbash ne le fait pas: alt text http://cdn.cloudfiles.mosso.com/c54102/app7962031255448924.jpg
Des idées sur la façon dont je peux vraiment réparer ces autorisations?