Cygwin sshd在Windows 7的问题

使用pipe理员特权帐户我已经在Windows XP,Vista,但在Windows 7上成功地安装了cygwin sshd,下面的说明在安装后没有错误,当我尝试启动服务…

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. 

有没有人看到这个错误,有什么想法可能是错的?

我刚刚遇到了这个问题,最终解决了这个问题。 首先,确保你和我有同样的问题。 为此,请检查/var/log/sshd.log文件的内容:

 cat /var/log/sshd.log 

如果最后一行显示为:

 /var/empty must be owned by root and not group or world-writable. 

那么我可以帮你。 阅读。

以下所有需要从提升的cygwin提示符运行。 右键单击cygwin图标,然后select“以pipe理员身份运行…”

首先你需要改变/ var / empty的权限:

 chmod 700 /var/empty 

那么你需要改变/ var / empty的所有者。 这是令人困惑的部分。 日志文件中的错误消息表明该目录必须由root(Windows上的SYSTEM)拥有。 这实际上是不正确的。 它必须由Windows服务运行的帐户拥有。 如果你遵循openSSH自述,这可能是cyg_server 。 假设是这样,你想运行:

 chown cyg_server /var/empty 

如果你得到一个错误,指出cyg_server是一个未知的用户,请尝试运行:

 mkpasswd -l > /etc/passwd 

然后再次尝试运行chown命令。

希望有所帮助!

我有同样的问题…包括空的sshd.log。 经过很多非常令人沮丧的testing(网上没有提示会帮助我),我终于find了问题:在我的path中有一个cygwin DLL的旧版本。 这在运行命令行时没有显示,但导致服务失败。

我认为这是事实Cygwin还没有赶上微软对Windows 7的变化。我一直在试图获得各种SSH服务器运行了一段时间在Win 7(自Beta 1以来),并得到了相同的消息作为你自己。

试过Opensshd,copssh,freesshd无济于事。

我在我的机器上解决了这个问题。

尝试这个:

  • 右键单击程序文件中的openssh文件夹并selectproperties ;
  • security选项卡上,selectadvanced ;
  • owner标签(我不知道如果是所有者,但是是相关的,因为我在巴西的窗口)点击edit ;
  • 在这个新窗口中,点击other users or groups然后inputsystem并点击;
  • 点击ok然后再ok ;
  • 通过运行net start opensshd或运行services.msc并在列表中启动services.msc启动services.msc

您还需要确保在/ etc / passwd中有这样的内容:

sshd:x:74:74:特权分隔的SSH:/ var / empty / sshd:/ sbin / nologin

我和原来的海报有同样的问题,但是我的sshd.log总是空的。 我运行得很好,

 /usr/sbin/sshd.exe 

从Cygwinterminal。 它不会自动启动,但是完成我的工作就足够了。

心灵固定这种方式

把这行join/ etc / passwd,

sshd:x:74:74:特权分隔的SSH:/ var / empty / sshd:/ sbin / nologin

并把这行写入/ etc / group

的/ etc /组:sshd的:*:27:

然后net start sshd

你会得到

 The CYGWIN sshd service is starting. The CYGWIN sshd service was started successfully.