我无法让openssh服务器在Windows Server 2008上运行。我让它在其他两台服务器上工作,但其中一台服务器无法工作。
我运行ssh-host-config
,然后选择权限分离。创建了两个用户sshd
和sshd_server
。
然后我运行net start sshd
,我看到了:
The CYGWIN sshd service is starting.
The CYGWIN sshd service could not be started.
The service did not report an error.
然后我运行cat /var/log/sshd.log
,我看到了这个输出:
/etc/sshd_config: No such file or directory
然后我检查/etc/sshd_config
的权限:
-rw-r--r-- 1 sshd_server root 3344 Sep 7 09:15 /etc/sshd_config
所以现在,似乎sshd无法看到存在且具有正确权限的文件。即使在Windows上,该文件也归sshd_server
所有。
答案 0 :(得分:2)
也发生了这种情况。 一个Procmon会话向我透露,sshd服务试图在根目录c:\ etc而不是c:\ cygwin \ etc中找到/ etc。
进一步的调查显示,sshd正在加载一个不正确的cygwin1.dll,它存在于我的系统PATH环境变量中。
解决方案是要么删除坏的cygwin1.dll,要么从系统变量中删除“坏”路径,并将该路径分配给用户特定的环境变量。
然后在没有这条“坏”路径的专用用户下运行sshd守护进程。
谢谢标记