Récemment, j'ai été dans l'impossibilité de cloner ou de pousser à github, et je vais essayer de trouver la cause racine.
C'est sur windows
J'ai cygwin + git ainsi que msysgit.
Msysgit a été installé avec les options suivantes:
- OpenSSH
- L'utilisation de Git à partir de l'Invite de commandes Windows
Qui me donne 4 environnements d'essayer d'utiliser git dans:
- Windows invite de cmd
- Powershell
- Git Bash
- Cygwin
D'une certaine manière, j'ai réussi à me mettre dans une position où, quand j'essaie de cloner un dépôt à 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
C'est à l'aide de l' .ssh dans le dossier mon c:\users\ben\ dossier, qui est utilisé par la msysgit. Je soupçonne cygwin fonctionne parce que l' .ssh dossier se trouve ailleurs, mais je ne sais pas pourquoi
Dans Git Bash, j'ai vérifier 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étendu. Comment ils ont obtenu de cette façon, je n'ai aucune idée.
Je peux essayer de les changer...
$ chmod -v -R 600 ~/.ssh
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 il ne semble pas avoir d'effet. J'obtiens toujours la même erreur, et de faire
$ ls -l -a ~/.ssh
les rendements les mêmes autorisations que les avant de.
Mise à JOUR:
J'ai essayé de réparer les autorisations pour les fichiers dans cygwin, et cygwin les rapports de leurs autorisations correctement, gitbash ne pas:
Des idées sur comment je peux corriger ces autorisations?