![](/img/trans.png)
[英]Error “Bad message” when accessing a file on Windows OpenSSH SFTP server
[英]openssh windows bad owner or permissions
我已经为 windows 安装了 openssh,当我运行ssh localhost
时,我得到了
C:\Users\gary/.ssh/config 的所有者或权限不正确
我看过这两个问题https://superuser.com/questions/348694/bad-owner-or-permissions-error-using-cygwins-ssh-exe和https: //313/questions/23 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 并得到相同的错误。
我不知道还能做什么,我的设置有什么问题吗? 我还安装了安装了 mingw 的 git,我从 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 显示为所有者
在我创建了另一个具有管理员权限的用户后,这立即开始弹出,并且该帐户开始继承对我的 .ssh 文件夹的访问权限。
您无需更改任何权限。
只需转到 .ssh,右键单击“属性”、“安全”选项卡、“高级”。 禁用继承,然后单击管理员用户(不是您的用户)并删除它们。 申请。 完毕。
将 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
笔记:
C:\\Windows\\System32\\OpenSSH\\ssh.exe
& 根本不使用 cygwin对于那些仍在为此苦苦挣扎的人,请查看: https : //github.com/PowerShell/openssh-portable/pull/418 。 这就是我的情况。 事实证明,您的计算机的名称应该与您的用户名不同......
再说一遍:如果您的计算机名称与您的用户名相同,并且您仍未通过权限对话框解决此问题,那么重命名您的计算机可能会有所帮助。
我不确定您正在运行什么版本的 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
在 Windows 服务器上,这是由于权限问题。 需要删除其他用户对以下文件夹的访问权限
.ssh - 文件夹
右键单击此文件夹-> 选择“授予访问权限”-> 单击“删除访问” 右键单击此文件夹-> 选择“属性”->“安全”-> 单击“编辑权限”-删除除其他用户之外的其他用户您登录的 ID。
对包含 .pem 文件的文件夹重复相同的过程。 (注意:将 .pem 文件保存在单独的文件夹中)
对于在应用所有者 + 修改(加上管理员的完全控制)后仍然遇到问题的任何人:它对我不起作用。 然后我看到了一个删除所有其他用户(包括所有管理员)的解决方案,这也没有帮助。
这对我有用:
在我删除了在进入我的文件夹(通过 UAC 框)后由 Windows 添加的管理用户后,它再次为我工作。
希望这对遇到此特定问题的任何人都有帮助:-)
如果用户在管理组中,只需将配置保存在 c:\\programdata\\ssh\\ssh_config 而不是 %USERPROFILE%.ssh\\config,就可以了
对我来说,它是通过在 ~/.ssh/ 下运行 chmod 0644 配置来修复的。 早些时候它被设置为 755,这导致“/home/home/.ssh/config 上的所有者或权限错误”
我尝试了上述所有解决方案,但遗憾的是仍然无法解决此问题。 我很确定我的 ssh 配置的权限是正确的,这已经通过 Explore GUI 和 Get-Acl 命令验证。
然后我终于找到了解决它的方法:
删除整个.ssh
文件夹,然后打开 powershell 并输入ssh localhost
。 它将为您创建一个新的.ssh
文件夹,然后您可以应用上述权限调整(对我来说我只做了一件事:禁用继承)。
因此,如果其他解决方案对您不起作用,也许您可以试试这个。 希望它有帮助。
PS:在删除之前不要忘记备份旧的.ssh
文件夹。
我遇到了这个问题,并且在配置文件上更改权限或禁用继承都无法解决它。 原来它不喜欢我的电脑名和用户名一样,所以我重新命名了我的电脑,允许打开ssh重新创建配置文件,现在权限正确。 一开始这可能是个坏主意,tbh。
问题似乎是文件被多个用户拥有/拥有权限。
1- 转到您的 ./ssh 文件夹以及config
和id_rsa
文件。 从属性 -> 安全 -> 高级: 2- 确保您登录的用户是那里的唯一用户。
没有组更改或其他什么,第一个答案是正确的。更改为 git ssh.exe 如何?
Path
添加到您的Path
对我来说,它是通过在运行 WSL 时在 ~/.ssh/ 下运行 chmod 0644 配置来修复的。
这对我有用。
我删除了C:\\Users\\user/.ssh/config
并重新运行我的东西,然后它起作用了。
但是,如果您在那里有有价值的东西,请先进行备份,以防万一!
您可以不使用属性框,而是使用单行:
icacls .ssh /grant:r <yourUserName>:f /inheritance:r
/grant:r username:f
-> 授予和覆盖权限,赋予username
完全权限/inheritance:r
-> 删除继承的权限
域更改后,我开始遇到同样的问题。 浏览了列出的所有建议,但没有任何效果,包括 chmod 和 chown 解决方案。
我最终通过复制文件夹、粘贴它、删除原始文件夹,然后将其重命名回 .ssh 来解决该问题。
禁用继承后,请确保添加当前用户,否则无法编辑文件
大家好,经过一天的故障排除后,我发现这个“m..f..”配置文件不应该位于 .ssh/ 路径中。
对于 VSCODE,只需按照调色板命令的第二个选择中的建议在 'C:\ProgrmaData\ssh\ssh_config' 路径中设置配置,并为此配置忘记.shh 路径。
这对我来说很好。
注意:这里还创建了一个 known_host 文件,里面有奇怪的 VM 名称,我也删除了这个文件。 这有帮助
对我来说,重新编辑 Windows 中的权限设置太复杂了。 在 vscode 中重新生成另一个配置也不起作用。
我设置了一个自定义配置文件路径来解决这个问题。
[“远程 SSH:配置文件”]
自定义 SSH 配置文件的绝对文件路径。
注意:通过@ext:ms-vscode-remote.remote-ssh,ms-vscode-remote.remote-ssh-edit config file
搜索此选项
我猜这是由错误的路径表达式引起的。
C:\\Users\\gary/.ssh/config 上的所有者或权限不正确
/.ssh
应该是\\.ssh
。 所以我尝试使用git bash(Windows系统安装git时的终端工具)来运行ssh
命令。 真的行。 但我真的不知道是不是我猜测的原因造成的。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.