环境

Windows 10 专业版 20H2 操作系统内部版本 19042.746
OpenSSH_for_Windows_7.7p1, LibreSSL 2.6.5

描述

在系统 -> 应用 -> 可选功能 -> 添加功能 -> OpenSSH Server / 服务器后,在排查管理员用户,证书密钥登录 Windows,一直提示需要用户密码问题时。
尝试网友提供的 PowerShell ACL 授权方案(文章末尾)。
在操作之前,就已经确认过该文件 administrators_authorized_keys 已经有相关 ACL 权限,但是抱着试一试的心态...
结果不出意外...果然出问题了...

  • 只要启动 OpenSSH SSH Server(SSHD) 服务,必定报错:错误 1067
  • 恢复 administrators_authorized_keys 文件权限,启动,报错:错误 1067
  • 恢复 sshd_config 配置文件,启动,报错:错误 1067
  • 卸载,重启,安装 OpenSSH Server / 服务器,重启,启动,报错:错误 1067

解决

1 卸载 OpenSSH Server # 若提示重启,则重启
2 删除以下文件夹 # 需开启显示隐藏的项目:导航栏->查看->打勾:隐藏的项目

C:\Users/用户\用户名\.ssh
C:\ProgramData\ssh

3 安装 OpenSSH Server # 若提示重启,则重启
4 启动 OpenSSH Server 服务

PowerShell ACL 授权代码

该代码只授权了允许 Administrators 与 SYSTEM 完全控制权限。与本身已有权限,缺少一个。
如需恢复,启动继承,删除非继承权限即可。

$acl = Get-Acl C:\ProgramData\ssh\administrators_authorized_keys
$acl.SetAccessRuleProtection($true, $false)
$administratorsRule = New-Object system.security.accesscontrol.filesystemaccessrule("Administrators","FullControl","Allow")
$systemRule = New-Object system.security.accesscontrol.filesystemaccessrule("SYSTEM","FullControl","Allow")
$acl.SetAccessRule($administratorsRule)
$acl.SetAccessRule($systemRule)
$acl | Set-Acl

可能是相同错误

The SSHD service could not be started.
System error 1067 has occurred.
windows 无法启动 open ssh ssh server 错误 1067

最后修改:2021 年 08 月 23 日 06 : 15 PM
如果觉得文章帮助了您,您可以随意赞赏。