Windows 10上的Ubuntu - Git为我的私钥抱怨“权限太开放”


5

一些背景信息,我在github上对我的bash / vim设置进行了版本控制,我在机器之间进行了同步。我有这个设置,并在Windows 10 PC上工作。有必要提一下,所有这些都设置在%USERPROFILE%下(见本文

我最近在这个Win10盒子上安装了Ubuntu,并将shell用户映射到Windows%USERPROFILE% - 因为我现有的(Ubuntu之前安装)bash文件无论如何都在那里,因此非常适合一般的bash使用。

我已经通过SSH工作Windows GIT命令行(%USERPROFILE%/。ssh / etc下的公钥和私钥)。

现在谈谈这个问题。我启动bash shell并在我的本地存储库文件夹中执行“git pull”。期望Ubuntu上的git应该在我的Windows%USERPROFILE%下获取公钥/私钥。这确实发生了,但我收到了消息

root@MY_MACHINE:~/.settings# git pull
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ @        
WARNING: UNPROTECTED PRIVATE KEY FILE!          @
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
Permissions 0777 for '/mnt/c/Users/my_user/.ssh/id_rsa' are too open.
It is required that your private key files are NOT accessible by
others. This private key will be ignored. bad permissions: ignore key:
/mnt/c/Users/my_user/.ssh/id_rsa Permission denied (publickey).
fatal: Could not read from remote repository.

Please make sure you have the correct access rights and the repository
exists.

快速检查〜/ .ssh /下的权限

root@MY_MACHINE:~/.ssh# ls -al id_*
-rwxrwxrwx 1 root root 1679 Sep 19  2016 id_rsa
-rwxrwxrwx 1 root root  402 Sep 19  2016 id_rsa.pub

无论我做什么 - 我都无法将这些文件的权限更改为(比方说)700。

有什么建议?当然,最终的解决方案是回到ubuntu-bash单独的$ HOME。

提前致谢..


我知道这是一个老问题,但是:您是否在.sshWindows资源管理器属性窗口的“安全”选项卡中查看了文件和目录的权限?有什么方法可以解释为对世界开放吗?您是否尝试关闭目录中的“包含此对象的父级的可继承权限”,并为文件关闭自己的执行权限?
斯科特

Answers:


0

看起来你无法为下面的文件设置权限/mnt/c,这看起来很有意义,因为NTFS似乎不了解Ubuntu子系统设置的UNIX权限。将文件移动到FS的根似乎工作,mv <keyname>.pem /然后chmod 600 /<keyname>.pem为我工作。


/mnt/c?现在的问题是有关文件(S) /mnt/c,这是Windows的根C:盘。为什么用户无法控制其主目录中的文件?移动个人.ssh文件有什么意义/
斯科特

@Scott编辑清理事物
Xenxier
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.