gar*_*y69 14 windows file-permissions openssh
我已经为windows安装了openssh,当我运行时,ssh localhost我得到了
C:\ Users\gary/.ssh/config上的所有者或权限错误
我看了这两个问题https://superuser.com/questions/348694/bad-owner-or-permissions-error-using-cygwins-ssh-exe和https://serverfault.com/questions/253313/ ssh-returns-bad-owner-or-permissions-on-ssh-config但是没有一个答案适合我.sshd作为本地系统用户作为服务运行.我已经运行chmod 0600 C:\Users\gary\.ssh\config和chown gary C:\Users\gary\.ssh\config.我也通过运行setfacl -b C:\Users\gary\.ssh\config然后chmod 0600 C:\Users\gary\.ssh\config再次清除ACL .我也尝试将所有者更改为SYSTEM并得到了同样的错误.
我不知道还能做什么,我的设置有什么问题吗?我也安装了git安装了mingw,我从我的git安装中删除了ssh和sshd,所以它们不会在我的路径上.
我运行的其他命令是
icacls "C:\Users\gary\.ssh\config" /setowner gary
chown -R gary:1049089 C:\Users\gary\.ssh
ls -la C:\Users\gary\.ssh\config 节目
-rw-r - r-- 1 gary 1049089 229 Jan 3 14:43'C:\ Users\gary.ssh\config'
它甚至在将所有者更改为SYSTEM后仍然显示此内容,但在文件资源管理器中的文件属性中,它将SYSTEM显示为所有者
小智 83
在我创建另一个具有管理员权限的用户后立即开始弹出,并且该帐户开始继承对我的 .ssh 文件夹的访问权限。
您无需更改任何权限。
只需转到 .ssh,右键单击“属性”、“安全”选项卡、“高级”。禁用继承,然后单击管理员用户(不是您的用户)并删除它们。申请。完毕。
Его*_*гин 19
对于那些仍在为此苦苦挣扎的人,请查看:https : //github.com/PowerShell/openssh-portable/pull/418。这就是我的情况。事实证明,您的计算机的名称应该与您的用户名不同...... ??? 它可能会在未来的更新中很快修复,因为修复已经提交。
再说一遍:如果您的计算机名称与您的用户名相同,并且您仍未通过权限对话框解决此问题,那么重命名您的计算机可能会有所帮助。
Lar*_*ryH 17
您可以使用一个衬垫,而不是使用属性框:
icacls .ssh /grant:r <yourUserName>:f /inheritance:r
Run Code Online (Sandbox Code Playgroud)
/grant:r username:f-> 授予并覆盖权限,给予完全权限username
/inheritance:r-> 删除继承的权限
保持known_hosts可写
icacls .ssh/known_hosts /grant:rw <username>:f /inheritance:r
Ger*_*rbó 11
将ssh客户端从C:\ Windows\System32\OpenSSH\ssh.exe更改 为C:\ Program Files\Git\usr\bin\ssh.exe对我有用.
重新安装Windows后刚遇到同样的问题。只需将文件权限更改为
SYSTEM & Administrators - Full Control
[your username] - Modify & as Owner
Run Code Online (Sandbox Code Playgroud)
注意:
C:\Windows\System32\OpenSSH\ssh.exe完全不使用cygwin我不确定您正在运行什么版本的 Windows,但由于这是最近的 Windows 10。我最近发现 OpenSSH 客户端在 2018 年 4 月更新时默认安装。然后我发现我有两个 OpenSSH 实例:一个是我自己安装的,另一个是 Windows 给我的。卸载我安装的那个导致了您描述的错误消息。
对我有用的解决方案是删除用户安装的 OpenSSH 以及C:\Users\username\.ssh文件夹,并让 Windows 10 OpenSSH 在您下次运行命令时创建该文件夹。我没有担心丢失的任何配置,但是如果您这样做,我建议将文件的内容复制并粘贴到某处,然后再恢复它们。
希望这可以帮助!
使用FixUserFilePermissions.ps1来修复客户端文件的权限 - 当前用户的密钥和配置文件。
git clone git@github.com:PowerShell/openssh-portable.git
cd openssh-portable/contrib/win32/openssh
.\FixUserFilePermissions.ps1 -Confirm:$false
Run Code Online (Sandbox Code Playgroud)
小智 5
在 Windows 服务器上,这是由于权限问题。需要删除其他用户对以下文件夹的访问权限
.ssh - 文件夹
右键单击此文件夹-> 选择“授予访问权限”-> 单击“删除访问” 右键单击此文件夹-> 选择“属性”->“安全”-> 单击“编辑权限”-删除除其他用户之外的其他用户您登录的 ID。
对包含 .pem 文件的文件夹重复相同的过程。(注意:将 .pem 文件保存在单独的文件夹中)