我尝试通过以下命令行启动 opensshd 应用程序:net start opensshd 但在 CMD 中按 Enter 后遇到以下消息:
The OpenSSH Server service is starting. The OpenSSH Server service could not be started. A system error has occurred. System error 1067 has occurred. The process terminated unexpectedly.
我安装openssh。 请帮助我!
后来我发现这是 C:\ProgramData\ssh\ssh_host*key 文件中的 security 问题。此文件夹中的所有关键文件应仅由以下 2 个系统用户拥有:
在 C:\ProgramData\ssh 文件夹下的 Powershell 中,发出以下命令可以列出文件 ssh_host_dsa_key 的所有者:
PS C:\ProgramData\ssh> icacls .\ssh_host_dsa_key
.\ssh_host_dsa_key BUILTIN\Administrators:(F)
NT AUTHORITY\SYSTEM:(F)
xxdomain\otheruser:(M)
Successfully processed 1 files; Failed processing 0 files
显然我们需要从所有者列表中删除用户“xxdomain\otheruser”
分辨率
2019年11月25日更新:发现OpenSSH-Win64.zip文件中已经包含了一个powershell脚本:FixHostFilePermissions.ps1
您需要做的是在 powershell 中运行以下命令:
cd 'C:\Program Files\OpenSSH-Win64'
.\FixHostFilePermissions.ps1
然后针对每个问题按“Enter”以更新权限。
只需在 PowerShell 中编写此命令
cd 'C:\Program Files\OpenSSH-Win64'
.\FixHostFilePermissions.ps1
然后按回车键。
我遇到了这个错误,在我的例子中,这是我编辑 sshd_config 时发生的错误,所以一定要检查一下。花了很长时间试图诊断这一点。
希望能为某人减轻一些痛苦。
我在 Windows 7 上安装 OpenSSH 时遇到了同样的错误...
打开“services.msc”并尝试从那里启动服务。
如果仍然不起作用,那么您可以尝试按照本教程中的步骤操作: http://www.techpaste.com/2015/06/windows-ssh-server-setup-and-configuration/
一件重要的事情:尝试下载旧版本的 OpenSSH
下载链接:http://www.mls-software.com/opensshd.html#botpage
(我推荐您版本“setupssh-7.3p1-2”)
希望它有效
干杯
对我来说,解决方案是从 this github repo
下载并安装 MSI%ProgramData%\ssh
目录及其内容。winget uninstall "openssh beta"
删除旧版本winget install "openssh beta"
安装最新版本。%ProgramFiles%\OpenSSH
并运行 FixHostFilePermissions.ps1
和 FixUserFilePermissions.ps1
。全部回答 Y
(是)或 A
(全部)。对我来说这是一个权限问题。
以非管理员模式打开 PowerShell。运行 sshd.exe。
我终于看到了正确的错误:
__PROGRAMDATA__\ssh/sshd_config: Permission denied