最近一直无法clone或者push到github,正在寻找根本原因。
这是在窗户上
我有 cygwin + git 和 msysgit。
Msysgit 使用以下选项安装:
- 开放SSH
- 从 Windows 命令提示符使用 Git
这给了我 4 个环境来尝试使用 git:
- Windows cmd 提示符
- 电源外壳
- 重击
- 赛格温
不知何故,我设法让自己进入一个位置,当我尝试使用 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
这是使用我的 c:\users\ben\ 文件夹中的 .ssh 文件夹,这是 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
关于如何真正修复这些权限的任何想法?