我刚刚使用 cygwin 在 Windows 7 计算机上设置了一个 SSH 服务器 (OpenSSH),并尝试使用 Windows Vista 计算机上的 PuTTY 连接到它,但一直出现连接超时。我使用 Wireshark 检查了 Win 7 计算机上的网络活动,发现我在 Win 7 计算机上的端口 22 上收到了 TCP SYN,但 ssh 服务器似乎没有回复。我检查了 sshd 配置使用的端口号,检查了我的防火墙规则,并验证了我可以使用 ssh localhost(我可以正常使用)。我完全不知道如何解决这个问题。
答案1
您可能正在运行 Windows 防火墙。打开:控制面板 -> Windows 防火墙 -> 允许程序或功能通过 Windows 防火墙
单击“更改设置”按钮,然后单击“允许其他程序...”按钮。SSHD 可能不在出现的列表中,因此请使用“浏览...”按钮找到二进制文件,然后单击“打开”,然后单击“添加”。我的二进制文件位于 C:\cygwin\usr\sbin\sshd.exe
在其中的某个地方,您可以决定要使用哪种“网络位置类型...”。我保留了“私人”选项,未选中“公共”选项。我现在可以远程登录了。
答案2
请问您sshd_配置指定监听地址作为0.0.0.0或者127.0.0.1?
如果它是0.0.0.0或者只是注释掉,那么您可以从机器外部(即从另一台计算机)进行连接。
如果它是127.0.0.1 (或任何其他127.0.0.x如果主机名是 192.168.1.1,则它只监听 LOCALHOST,并且您只能从同一台机器登录。外部机器被拒绝。
答案3
在对 Windows 防火墙进行各种尝试却无济于事之后,我最终发现我必须通过 /etc/hosts.allow 文件允许在 Cygwin 中连接到我自己的子网。
这条线(使用我的子网)作为第一条规则为我解决了这个问题。
全部:192.168.0.0/24:允许
答案4
确保您使用的是 Win 7 防病毒软件,它没有阻止端口 22。此外,转到 Windows 服务面板并搜索 CYGWINsshd 并启用它。设置登录以找到并选中该框。
这将解决问题:user@mymachine ~ $ net start sshd 发生系统错误 1069。
由于登录失败,服务未启动。