我在 Windows 7 上安装了 Cygwin 和 sshd,但无法使其工作。
我遵循了http://www.noah.org/ssh/cygwin-sshd.html但我仍然得到:
$ cygrunsrv -S sshd
cygrunsrv: Error starting a service: QueryServiceStatus: Win32 error 1062:
The service has not been started.
配置详细信息:
- 域中的 Windows 7 与具有本地管理权限的域用户一起运行
netstat -a -b
报告称 22 端口上未运行任何内容C:\cygwin\var\log\sshd.log
是空的- 安装 cygwin 和 sshd 后,我运行
ssh-host-config -y
- 已经尝试将 SYSTEM 帐户添加到 3 个目录,但没有变化。
- 已尝试完全重启系统,没有变化
更新:Windows 日志投诉Possible duplicate cygwin1.dll
答案1
谢谢,您的更新就是解决方案 - 对于其他任何人来说,都有一个针对 Cygwin 启动时出现 Win32 错误 1062 的配方#3:
1)检查应用程序事件日志,查看是否存在“信息”级别的事件,例如:“sshd:PID:可能重复的 cygwin1.dll:”
在指定位置找到那个愚蠢的重复项,然后重命名它或以某种方式将其从路径中删除。我的是“/cygdrive/c/Program Files (x86)/socat-1.7.2.0/cygwin1.dll”。
嘘,socat!显然他们参与了3PP。我甚至不知道 socat 在我的系统上,显然它是作为其他安装的一部分而来的。我在 cygwin 邮件列表中发现另外 2 个人也遇到了 duplicate-dll 问题。
答案2
谢谢你@HopelessN00b
,你的解决方案帮助了我@user155148
。@Algomorph
关键
我遇到了两个问题:
- 重复的
cygwin1.dll
文件。 /var/log/sshd.log
: “权限分离用户sshd不存在”
我的解决办法
处理重复的 pickle 文件:
cd /cygdrive/c/Program\ Files\ \(x86\)/cwRsync/bin mv cygwin1.dll cygwin1_.dll
/etc/passwd
通过编辑并添加以下行来添加用户:sshd:x:74:74:Privilege-separated SSH:/var/empty/sshd:/sbin/nologin
请注意,用户名“sshd”来自/var/log/sshd.log
。
我确实找到了另一个资源,这个资源更详细一些,来自甲骨文
简而言之,如果你感到悲伤:
- 一次又一次地执行这些步骤。
...进行修复
.....跑步cygrunsrv -S sshd
......大声咒骂 - 检查 Windows 事件日志。
...您有重复的 dll 文件吗? - 看一眼
/var/log/sshd.log
...你有/etc/passwd
问题吗?
答案3
我有(几乎)相同的效果和类似的解决方案:应用程序日志显示重复文件
可能重复的 cygwin1.dll:/cygdrive/c/dakota/bin/cygwin1.dll..
来自我的 dakota 安装。重命名此 dll 即可解决问题。谢谢!
答案4
对我来说,这原来是一个兼容性问题。我试图在 Win7 中运行它。通过在资源管理器中右键单击文件,转到兼容性并将兼容性设置为 Windows Server 2003 来修复。之后工作正常。
在这里找到了解决方案:
请注意,我的问题具体与尝试启动使用 Cygwin 轻量级版本的 OpenSSH 服务器有关。