
我剛剛使用 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號),那麼它僅在 LOCALHOST 上偵聽,並且您只能從同一台電腦登入。外部機器被拒絕。
答案3
在嘗試了 Windows 防火牆但沒有效果後,我最終發現我必須允許透過 /etc/hosts.allow 檔案連接到 Cygwin 本身中我自己的子網路。
這條線(使用我的子網路)作為第一條規則為我解決了這個問題。
全部:192.168.0.0/24:允許
答案4
確保您的 win 7 防毒軟體沒有封鎖連接埠 22。設定登入以找到並選取該方塊。
這將解決問題: user@mymachine ~ $ net start sshd 發生系統錯誤 1069。
由於登入失敗,該服務未啟動。