![cygwin sshd.exe 和服务在几天后随机挂起](https://linux22.com/image/1389350/cygwin%20sshd.exe%20%E5%92%8C%E6%9C%8D%E5%8A%A1%E5%9C%A8%E5%87%A0%E5%A4%A9%E5%90%8E%E9%9A%8F%E6%9C%BA%E6%8C%82%E8%B5%B7.png)
我在 Win7 Pro 64 位机器上安装了 cygwin 和 sshd,是上个月的最新版本。我可以从 Linux 机器上 ssh 连接,没有任何问题。(这与我在 Windows 2003 Server 机器上的设置相同,但还没有出现过这个问题。)
然后,随机地,经过一段时间(通常是几天),当我尝试 ssh 接入时,ssh 只会打印一个空白行,并且光标会在那里闪烁,直到我按 Ctrl+C。
我远程进入 Win7 框,任务管理器中 sshd.exe 正在运行,CPU 使用率正常(0)。我转到服务,它显示 sshd 正在运行。我告诉它重新启动,但它无法停止:进度条出现,转到大约 40%,然后缓慢移动,最后显示无法停止(但现在它已停止 - 我可以选择启动。)如果我尝试启动,它会告诉我它已启动并立即停止:
服务
本地计算机上的 CYGWIN sshd 服务已启动,然后停止。如果某些服务未被其他服务或程序使用,则会自动停止。 OK
整个过程中 sshd.exe 仍位于任务管理器中。此时,我在任务管理器中终止 sshd.exe,然后我可以返回到服务并启动 sshd,没有任何问题,之后我可以从 Linux 中 ssh 进入,没有任何问题。
早在 2006 年,我就看到过各种关于类似情况的帖子,但除了增加 /etc/sshd_config 中的 MaxSessions 之外,没有其他解决方案。只有一个用户使用 ssh,所以我认为 MaxSessions 不需要增加。
是什么原因造成的?
答案1
我找不到原因。这是一个糟糕的答案,但一个不引人注目的(对我的要求而言)解决方法是每天安排一次:
Taskkill /IM sshd.exe /F
net start "CYGWIN sshd"