Недавно я не смог клонировать или нажать на github, и я пытаюсь найти основную причину.
Это на окнах
У меня есть cygwin + git, а также msysgit.
Msysgit был установлен со следующими параметрами:
- OpenSSH
- Использовать Git из командной строки Windows
Это дает мне 4 окружения, чтобы попытаться использовать git в:
- Приглашение Windows cmd
- Powershell
- Git Bash
- Cygwin
Каким-то образом мне удалось попасть в такое положение, когда при попытке клонировать репозиторий с помощью msysgit, cmd.exe или Powershell я получаю следующую ошибку:
> 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
Это использует папку .ssh в моей папке c: \ users \ ben \, которая используется msysgit. Я подозреваю, что Cygwin работает, потому что папка .ssh находится в другом месте, но я не уверен, почему
В Git Bash я проверяю разрешения:
$ ls -l -a ~/.ssh
Что дает мне:
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
Эти разрешения явно слишком расслаблены. Как они попали таким образом, я понятия не имею.
Я могу попытаться изменить их ...
$ chmod -v -R 600 ~/.ssh
что говорит мне:
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-------)
Но, похоже, не имеет никакого эффекта. Я все еще получаю ту же ошибку, и делаю
$ ls -l -a ~/.ssh
дает те же разрешения, что и раньше.
ОБНОВИТЬ:
Я попытался исправить разрешения для этих файлов в cygwin, и cygwin правильно сообщает о своих разрешениях, gitbash не: alt text http://cdn.cloudfiles.mosso.com/c54102/app7962031255448924.jpg
Любые идеи о том, как я могу действительно исправить эти разрешения?