ssh 主机名返回“~/.ssh/config 上的所有者或权限错误”(chmod 600 不适用于 MingW)

ssh 主机名返回“~/.ssh/config 上的所有者或权限错误”(chmod 600 不适用于 MingW)

这个问题与罗伯特的问题但尝试之后chmod 600 ~/.ssh/config仍然出现同样的错误。

我已尝试使用cygwin和来MINGW32执行chmod 600ls -la返回和-rw-------返回。cygwin-rw-r--r--MINGW32

根据这些结果,cygwin表明它确实具有适当的权限,因此当我时不应该抱怨ssh hostname,但是当尝试 ssh 时cygwin和都会抱怨。MINGW32

这类似于我在使用 gitosis 时遇到的问题在哪里本文说我需要将文件ssh.exe从切换cygwin到(MINGW32),这确实修复了当时的问题。但是,由于没有正确运行git,此修复似乎不再起作用。MINGW32chmod

有任何想法吗?

答案1

事实上对于我来说以上方法都不起作用。

灵感来自于http://yifanpeng.blogspot.co.uk/2013/03/cygwin-ssh-tip.html

在 Linux 上,你只需执行以下快捷方式即可确保.ssh目录上的所有者和组是jujharchown jujhar.jujhar ~/.ssh~/home/jujhar

与 Windows 上的 cygwin 唯一的区别是jujhar没有创建组,您必须使用该Users组。设置后,您就可以chmod正确使用。

就我而言,我做了以下事情,效果很好

chown jujhar.Users /cygdrive/c/Users/jujhar/.ssh
chmod 0700 /cygdrive/c/Users/jujhar/.ssh
chmod 0600 /cygdrive/c/Users/jujhar/.ssh/*

注意:我的用户名的主目录jujhar设置为/cygdrive/c/Users/jujhar(您可以在 中更改它/etc/passwd。这使我的备份和其他事情更容易(崩溃计划非常感谢。)

答案2

如果您的 Windows 不是美式英语,请注意:“用户”组的名称与语言环境有关。如果您的 Windows 是西班牙语,则必须使用以下命令更改文件的所有权chown $USER:Usuarios *

答案3

问题不在于chmod文件,chown而在于文件cygwin显示我的账户不是文件的所有者。令人困惑的是,文件MINGW32显示我是所有者... 希望我有能力修复他们项目中的chmod问题。chown

相关内容