Vor kurzem war ich nicht in der Lage, Github zu klonen oder zu pushen, und ich versuche, die Grundursache zu finden.
Dies ist auf Windows
Ich habe Cygwin + Git sowie Msysgit.
Msysgit wurde mit folgenden Optionen installiert:
- OpenSSH
- Verwenden Sie Git über die Windows-Eingabeaufforderung
Das gibt mir 4 Umgebungen, in denen ich versuchen kann, Git zu verwenden:
- Windows-Cmd-Eingabeaufforderung
- Power Shell
- Git Bash
- Cygwin
Irgendwie habe ich es geschafft, mich in eine Position zu bringen, in der beim Versuch, ein Repository mit msysgit, cmd.exe oder Powershell zu klonen, die folgende Fehlermeldung angezeigt wird:
> 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
Hierbei wird der Ordner .ssh in meinem Ordner c: \ users \ ben \ verwendet, der von msysgit verwendet wird. Ich vermute, dass Cygwin funktioniert, weil sich der .ssh-Ordner an einer anderen Stelle befindet, aber ich bin mir nicht sicher, warum
In Git Bash überprüfe ich die Berechtigungen:
$ ls -l -a ~/.ssh
Welches gibt mir:
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
Diese Berechtigungen sind anscheinend zu entspannt. Wie sie so gekommen sind, weiß ich nicht.
Ich kann versuchen, sie zu ändern ...
$ chmod -v -R 600 ~/.ssh
was mir sagt:
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-------)
Aber es scheint keine Wirkung zu haben. Ich bekomme immer noch den gleichen Fehler und tue es
$ ls -l -a ~/.ssh
liefert die gleichen Berechtigungen wie zuvor.
AKTUALISIEREN:
Ich habe versucht, die Berechtigungen für diese Dateien in cygwin zu korrigieren, und cygwin meldet ihre Berechtigungen korrekt. Gitbash funktioniert nicht: alt text http://cdn.cloudfiles.mosso.com/c54102/app7962031255448924.jpg
Irgendwelche Ideen, wie ich diese Berechtigungen wirklich reparieren kann?