Ostatnio nie byłem w stanie sklonować ani naciskać na github i próbuję znaleźć podstawową przyczynę.
To jest w systemie Windows
Mam cygwin + git oraz msysgit.
Msysgit został zainstalowany z następującymi opcjami:
- OpenSSH
- Użyj Git z wiersza polecenia systemu Windows
To daje mi 4 środowiska, w których mogę spróbować użyć git w:
- Windows cmd monit
- PowerShell
- Git Bash
- Cygwin
Jakoś udało mi się dostać do pozycji, w której kiedy próbuję sklonować repozytorium za pomocą msysgit, cmd.exe lub Powershell, pojawia się następujący błąd:
> 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
Korzysta z folderu .ssh w moim folderze c: \ users \ ben \, z którego korzysta msysgit. Podejrzewam, że cygwin działa, ponieważ folder .ssh znajduje się w innym miejscu, ale nie jestem pewien, dlaczego
W Git Bash sprawdzam uprawnienia:
$ ls -l -a ~/.ssh
Co daje mi:
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
Te uprawnienia są najwyraźniej zbyt zrelaksowane. Jak oni to osiągnęli, nie mam pojęcia.
Mogę spróbować je zmienić ...
$ chmod -v -R 600 ~/.ssh
co mówi mi:
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-------)
Ale wydaje się, że nie ma żadnego efektu. Nadal pojawia się ten sam błąd i robię
$ ls -l -a ~/.ssh
daje takie same uprawnienia jak poprzednio.
AKTUALIZACJA:
Próbowałem naprawić uprawnienia do tych plików w cygwin, a cygwin poprawnie zgłasza swoje uprawnienia, gitbash nie: alt text http://cdn.cloudfiles.mosso.com/c54102/app7962031255448924.jpg
Wszelkie pomysły na to, jak naprawdę mogę naprawić te uprawnienia?