Cygwin sshサーバーが接続を受け入れていません


14

cygwinを使用してWindows 7マシンでSSHサーバー(OpenSSH)をセットアップし、Windows VistaマシンでPuTTYを使用して接続しようとしていますが、接続がタイムアウトし続けます。Wiresharkを使用してWin 7マシンのネットワークアクティビティを確認したところ、Win 7マシンのポート22でTCP SYNを受信して​​いることがわかりましたが、sshサーバーは応答していないようです。ポート番号sshdが使用するように構成されていることを確認し、ファイアウォールルールを確認し、localhostをsshできることを確認しました(これで問題ありません)。この問題のトラブルシューティング方法はまったくわかりません。


おそらくファイアウォールを再度確認するか、この側面について詳しく説明する必要があります。
jjlin

回答:


23

Windowsファイアウォールが実行されている可能性があります。開く:コントロールパネル-> Windowsファイアウォール-> Windowsファイアウォールを介したプログラムまたは機能を許可する

[設定の変更]ボタンをクリックしてから、[別のプログラムを許可...]ボタンをクリックします。SSHDはおそらくリストにないので、「参照...」ボタンを使用してバイナリを見つけ、「開く」をクリックしてから「追加」をクリックします。私のものはC:\ cygwin \ usr \ sbin \ sshd.exeにありました

そこのどこかで、使用する「ネットワークロケーションタイプ...」を決定できます。私はプライベートをチェック済み、パブリックを未チェックのままにしておきました。リモートでログインできるようになりました。


さらにフランクの答え私は私のホームネットワーク上のコンピュータ上のプライバシーVPNをインストールし、私はこの同じ問題を見ました。これは、VPNを使用して、コンピューターがパブリックネットワーク上のsshdに接続していたためです。これを修正するために、私はパブリックの場所だけでなくプライベートの場所でもsshdがWindowsファイアウォールを通過できるようにしなければなりませんでした。
ジェームズハーシュホーン

5

sshd_configListenAddress0.0.0.0または127.0.0.1として指定していますか?

それはだ場合は0.0.0.0または単にコメントアウト、あなたは他のコンピュータから、すなわち、外部からマシンを接続することができます。

それはなら127.0.0.1 (または任意の他の127.0.0.xというの数)、それはlocalhostのみに耳を傾けています、そしてあなただけの同じマシンからログインすることができます。外部マシンは拒否されます。


2
コメントアウトされています。
サーマ

1

Windowsファイアウォールをいじって効果がなくなった後、最終的には/etc/hosts.allowファイルを介してCygwin自体の自分のサブネットへの接続を許可する必要があることに気付きました。

この行(サブネットを使用)が最初のルールとして問題を修正しました。

ALL:192.168.0.0/24:許可


1
hosts.allowまたはhosts.denyの問題は、接続タイムアウトを引き起こしません。SSHサーバーが接続を受け入れ、認証プロセス中に接続をドロップします。
ケンスター14年

@Kenster hosts.allowとhosts.denyはTCPレベルで動作します。SSHサーバーに到達する前にレイヤー4でブロックされるため、SSHサーバーに接続できません。
mtak

@mtakいいえ、そうではありません。hosts.allowとhosts.denyは、TCP Wrappersの構成ファイルです。サーバープログラム(この場合はsshd)は、TCP接続を受け入れ、リモートエンドポイントのIPアドレスを取得し、TCPラッパーを呼び出して、クライアントを許可するかどうかを確認する必要があります。libwrapがnoと言った場合、サーバーは通常接続をドロップします。
ケンスター

たとえばsshd.cを参照してください。LIBWRAP ifdefsを探します。以下は sshdが呼び出しているhosts_access関数です。また、sshd.cの最新バージョンではlibwrapサポートが削除されていることにも注意しください。
ケンスター

@ケンスター、私の悪い、あなたは正しい。試したところ、次のエラーが表示されました:ssh_exchange_identification: Connection closed by remote host。SUの良い日:)
mtak

1

私にとっては、/var/emptyファイルの所有権が正しくないという問題がありました。この問題は、でsshdをデバッグモードにした後に明らかになりました/usr/sbin/sshd.exe -D -dd。私はそれを修正しなければなりませんでした:

chown [user]:[group] /var/empty

ユーザーとグループはls -la /varディレクトリから取得されました(他のファイルと一致しました)。詳細はこちら:https : //docs.oracle.com/cd/E24628_01/install.121/e22624/preinstall_req_cygwin_ssh.htm#EMBSC340


指摘していただきありがとうございますsshd -D -dd
ジョンオックスリー

0

勝利7であることを確認してください。ウイルス対策はポート22をブロックしていません。また、Windowsサービスパネルに移動してCYGWINsshdを検索し、有効にします。ログオンを設定して、ボックスを見つけてチェックします。

これで問題が修正されます:user @ mymachine〜$ net start sshdシステムエラー1069が発生しました。

ログオンに失敗したため、サービスは開始されませんでした。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.