在 cygwin 中将 sshd 作为服务运行时出错

在 cygwin 中将 sshd 作为服务运行时出错

我正在使用 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 安装可能较旧或已损坏。请尝试重新安装。

以下方法也可能有帮助:

  1. cygrunsrv -R sshd
  2. 重新启动(或使用任务管理器终止可能在后台运行的所有 sshd 实例)
  3. 再次运行ssh-host-config -y

这似乎对我所工作的几个系统有帮助。

解决方案 2。

打开资源管理器窗口并使用“属性 | 安全”对话框,并为 SYSTEM 用户明确添加对以下目录的“完全控制”权限:

C:\Cygwin
C:\Cygwin\var
C:\Cygwin\var\log

来源Cygwin SSHD 操作指南

另请参阅 StackOverflow 问题无法启动 cygwin sshd 服务


进一步阅读

答案2

检查/var/log/sshd.log sshd显示/var/empty现在由 root 拥有(在 Windows 上称为“SYSTEM”)。解决方案是在管理 Cygwin shell 中更改所有者:

chown SYSTEM /var/empty

相关内容