
cygwin を使用して Windows 7 マシンに SSH サーバー (OpenSSH) をセットアップしたところ、Windows Vista マシンで PuTTY を使用して接続しようとしましたが、接続がタイムアウトし続けます。Wireshark を使用して Win 7 マシンのネットワーク アクティビティをチェックしたところ、Win 7 マシンのポート 22 で TCP SYN を受信していることがわかりましたが、ssh サーバーは応答していないようです。sshd が使用するように設定されているポート番号を確認し、ファイアウォール ルールをチェックして、localhost に ssh できることを確認しました (問題なく実行できます)。この問題のトラブルシューティング方法がまったくわかりません。
答え1
Windows ファイアウォールが動作している可能性があります。コントロール パネル -> Windows ファイアウォール -> Windows ファイアウォールによるプログラムまたは機能の許可を開きます。
「設定の変更」ボタンをクリックし、「別のプログラムの許可...」ボタンをクリックします。SSHD はおそらく表示されるリストにないので、「参照...」ボタンを使用してバイナリを探し、「開く」をクリックしてから「追加」をクリックします。私の場合は C:\cygwin\usr\sbin\sshd.exe にありました。
どこかで、使用する「ネットワークの場所の種類...」を決定できます。私はプライベートをチェックし、パブリックのチェックを外したままにしました。これでリモートでログインできるようになりました。
答え2
あなたのsshd_config特定リスンアドレスとして0.0.0.0または127.0.0.1?
もし0.0.0.0または単にコメントアウトすると、マシンの外部、つまり別のコンピューターから接続できるようになります。
もし127.0.0.1 (または他の127.0.0.x番号を指定した場合、ローカルホストでのみリッスンし、同じマシンからのみログインできます。外部マシンは拒否されます。
答え3
Windows ファイアウォールをいじくり回しても効果がなかったため、最終的には、/etc/hosts.allow ファイルを介して Cygwin 自体で自分のサブネットへの接続を許可する必要があることがわかりました。
この行 (サブネットを使用) を最初のルールとして使用すると、問題が解決しました。
すべて: 192.168.0.0/24: 許可
答え4
Windows 7 のウイルス対策がポート 22 をブロックしていないことを確認してください。また、Windows サービス パネルに移動して CYGWINsshd を検索し、有効にします。ログオンを設定して、ボックスを見つけてチェックします。
こうすれば問題は解決します: user@mymachine ~ $ net start sshd システム エラー 1069 が発生しました。
ログオンに失敗したため、サービスは開始されませんでした。