我正在使用 cygwin 运行 sshd。但现在 sshd 并未作为服务运行。当我使用“net start sshd”启动服务时,出现如下消息:“无法启动 cygwin sshd 服务。服务未报告错误。输入 NET HELPMSG 3534 可获得更多帮助”,如果使用“cygrunsrv -S sshd”运行,则出现如下错误:“启动服务时出错。查询服务状态:win32 错误 1062”
我已通过删除其服务、服务器和注册表彻底删除了 cygwin。然后再次安装,但 sshd 并未作为服务运行。
我能解决这个问题吗?
答案1
启动服务时出错。查询服务状态:win32 错误 1062
有时尝试运行服务后,您会收到 sshd/cygrunsrv 服务错误。
cygrunsrv: Error starting a service: QueryServiceStatus: Win32 error 1062: The service has not been started.
造成这种情况的原因可能有几个。以下方法可能会修复此问题(XP Home 上没有此选项)。
解决方案 1。
您的 Cygwin 安装可能较旧或已损坏。请尝试重新安装。
以下方法也可能有帮助:
cygrunsrv -R sshd
- 重新启动(或使用任务管理器终止可能在后台运行的所有 sshd 实例)
- 再次运行
ssh-host-config -y
。这似乎对我所工作的几个系统有帮助。
解决方案 2。
打开资源管理器窗口并使用“属性 | 安全”对话框,并为 SYSTEM 用户明确添加对以下目录的“完全控制”权限:
C:\Cygwin C:\Cygwin\var C:\Cygwin\var\log
另请参阅 StackOverflow 问题无法启动 cygwin sshd 服务
进一步阅读
答案2
检查/var/log/sshd.log
sshd
显示/var/empty
现在由 root 拥有(在 Windows 上称为“SYSTEM”)。解决方案是在管理 Cygwin shell 中更改所有者:
chown SYSTEM /var/empty