Cygwinを使用してWindows 7マシンにSSHサーバー(OpenSSH)をセットアップしたばかりで、Windows VistaマシンでPuTTYを使用して接続しようとしていますが、接続がタイムアウトし続けます。 Wiresharkを使用してWindows 7マシンのネットワークアクティビティを確認したところ、Win = 7マシンのポート22でTCP SYNを受信していますが、sshサーバーが応答していないようです。sshdが使用するように構成されているポート番号を確認し、ファイアウォールルールを確認し、localhostをsshできることを確認しました(これで問題ありません)。この問題のトラブルシューティング方法はまったくわかりません。
Windowsファイアウォールを実行している可能性があります。開く:コントロールパネル-> Windowsファイアウォール-> Windowsファイアウォールを介したプログラムまたは機能の許可
[設定の変更]ボタンをクリックしてから、[別のプログラムを許可...]ボタンをクリックします。 SSHDはおそらく表示されるリストにないので、[参照...]ボタンを使用してバイナリを探し、[開く]をクリックしてから[追加]をクリックします。鉱山はC:\ cygwin\usr\sbin\sshd.exeにありました
どこかで、使用する「ネットワークロケーションタイプ...」を決定できます。私はチェック済みのプライベートとチェックなしのパブリックを残しました。リモートでログインできるようになりました。
sshd_configはListenAddressを.0.0.または127.0.0.1として指定していますか?
.0.0.またはコメント化されている場合は、マシンの外部、つまり別のコンピュータから接続できます。
127.0.0.1(またはその他の127.0.0.x番号)の場合は、LOCALHOSTでのみリッスンしており、同じマシンからのみログインできます。外部マシンは拒否されました。
Windowsファイアウォールをいじって効果がなくなった後、最終的に/etc/hosts.allowファイルを介してCygwin自体の自分のサブネットへの接続を許可する必要があることに気付きました。
この行(私のサブネットを使用)は、最初のルールとして問題を修正しました。
ALL:192.168.0.0/24:許可
私にとっての問題は、/var/empty
ファイルの所有権が正しくないことでした。 /usr/sbin/sshd.exe -D -dd
を使用してsshdをデバッグモードにすると、問題が明らかになりました。私はそれを修正する必要がありました:
chown [user]:[group] /var/empty
ユーザーとグループはls -la /var
ディレクトリから取得されました(他のファイルと一致しました)。詳細はこちら: https://docs.Oracle.com/cd/E24628_01/install.121/e22624/preinstall_req_cygwin_ssh.htm#EMBSC34
Windows 7アンチウイルスがポート22をブロックしていないことを確認します。また、Windowsサービスパネルに移動し、CYGWINsshdを検索して有効にします。ボックスを見つけてチェックするようにログオンを設定します。
これで問題が解決します:user @ mymachine〜$ net start sshdシステムエラー1069が発生しました。
ログオンの失敗により、サービスは開始されませんでした。