使用管理员特权帐户我已经按照说明安装了 cygwin sshd这里在 Windows XP、Vista 上成功安装,但在 Windows 7 上,安装后当我尝试启动服务时没有出现错误...
net start sshd
The CYGWIN sshd service is starting.
The CYGWIN sshd service could not be started.
The service did not report an error.
More help is available by typing NET HELPMSG 3534.
有谁见过这个错误吗?知道可能是什么错误吗?
答案1
我刚刚遇到这个问题,最终解决了。首先,确保您遇到的问题与我相同。为此,请检查 /var/log/sshd.log 文件的内容:
cat /var/log/sshd.log
如果最后一行是这样的:
/var/empty must be owned by root and not group or world-writable.
那么我可以帮助你。请继续阅读。
以下所有内容都需要从提升的 cygwin 提示符运行。右键单击 cygwin 图标并选择“以管理员身份运行...”
首先,您需要更改 /var/empty 的权限:
chmod 700 /var/empty
然后你需要更改 /var/empty 的所有者。现在这是令人困惑的部分。日志文件中的错误消息表明该目录必须由 root(Windows 上的 SYSTEM)拥有。这实际上是不正确的。它必须由运行 Windows 服务的帐户拥有。如果你按照 openSSH 自述文件操作,这可能是cyg_服务器。假设是,您要运行:
chown cyg_server /var/empty
如果你收到一条错误信息,指出cyg_服务器是未知用户,请尝试运行:
mkpasswd -l > /etc/passwd
然后尝试运行chown再次命令。
希望有帮助!
答案2
我遇到了同样的问题...包括空的 sshd.log。经过大量令人沮丧的测试(网上没有给出任何提示可以帮助我),我终于找到了问题所在:在我的路径中有一个 cygwin DLL 的旧版本。运行命令行时没有显示该问题,但导致服务失败。
答案3
我认为这是因为 Cygwin 还没有完全赶上微软对 Windows 7 所做的更改。一段时间以来,我一直尝试在 Win 7 上运行各种 SSH 服务器(自 Beta 1 以来),并且收到了与您相同的消息。
尝试过 Opensshd、copssh、freesshd,但无济于事。
答案4
您还需要确保您的 /etc/passwd 中包含类似这样的内容:
sshd:x:74:74:权限分离的 SSH:/var/empty/sshd:/sbin/nologin