GNU/Linux >> Linux の 問題 >  >> Linux

ssh_exchange_identification:リモート ホストによって接続が閉じられました (hosts.deny を使用していません)

元々はAsk Ubuntuに投稿されました

「外部」要因を除外した場合は、通常、次の一連の手順でそれを絞り込むことができます。したがって、これはあなたの質問に直接答えるものではありませんが、エラーの原因を追跡するのに役立つかもしれません.

トラブルシューティング sshd

そのような場合に一般的に非常に役立つと思うのは、 sshd を開始することです デーモン化させずに。私の場合の問題は、 syslog でもないことでした auth.log でもありません 意味のあるものを示しました。

取得した端末から起動したとき:

# $(which sshd) -Ddp 10222
/etc/ssh/sshd_config line 8: address family must be specified before ListenAddress.

ずっといい!このエラー メッセージにより、何が問題なのかを確認して修正することができました。どちらのログ ファイルにもこの出力は含まれていません。

注意: 少なくとも Ubuntu では $(which sshd) sshdを満たす最良の方法です 絶対パスの要件。そうしないと、次のエラーが発生します:sshd re-exec requires execution with an absolute path . -p 10222 sshd になります その代替ポートでリッスンし、構成ファイルをオーバーライドします。これは、潜在的に実行中の sshd と衝突しないようにするためです。 インスタンス。ここで空いているポートを選択してください。

最後に、代替ポート (ssh -p 10222 [email protected]) に接続します。 ).

この方法は、認証の問題であろうと他のタイプであろうと、問題を見つけるのに何度も役立ちました。 stdout に非常に詳細な出力を取得するには 、 $(which sshd) -Ddddp 10222 を使用 (追加された dd に注意してください 冗長性を高めるため)。デバッグの良さについては、man sshd を確認してください。 .

この方法の主な利点は、sshd をチェックできることです。 構成なし sshd を再起動する必要があります デフォルトのポートで。 通常 これは既存の SSH 接続に干渉しないはずですが、私はそれを見てきました。したがって、これにより、リモートサーバーへのアクセスを切断する可能性がある前に、構成ファイルを検証できます(たとえば、一部のVPSや、帯域外アクセスを取得するために追加料金を支払う必要がある物理サーバーに対してもそれを持っています)マシンに)


また、メモリがひどく断片化されているため、ページに連続したメモリを割り当てて、SSH セッションをホストするためのプロセスを分岐させることができないホストを持つこともできます。

このような場合、次のいずれかのメッセージを取得できます:

ssh_exchange_identification: read: Connection reset by peer

または:

Connection closed by aaa.bbb.ccc.ddd

ホストがベイルアウトするまでにどこまで到達するかによって異なります。

メモリの断片化が明らかな原因である場合、解決策は、他の手段でサーバーにアクセスし、関連するサービスの一部を再起動することです。 VMにはスワップパーティションがないため、ApacheとMySQLがVMの原因であることがわかりました。それができない場合は、ホストを再起動してください。


念のため、これは私に起こったからです。ホストで sshd が実行されていることを確認してください!

これはばかげた失敗ですが、実際にはあなたの問題かもしれません.


Linux
  1. DNS/hosts にないホストへの SSH を使用した接続が、接続開始時にしばらく停止する

  2. ssh コマンドを使用してリモート ホストに接続する方法

  3. Bash の配列が見つかりません

  1. ProxyJumpを使用してプロキシまたは要塞を介してリモートホストにSSHで接続する

  2. Kafka - Java を使用してリモート サーバーにメッセージを送信できない

  3. 最初に /etc/hosts を使用してホスト名を解決する Linux コマンド ライン ユーティリティ

  1. Ssh –すでに確立されているSshチャネルを使用していますか?

  2. 画面コマンドを使用したスリープコマンドがPsに表示されませんか?

  3. LinuxでリモートMySQL接続を追加するにはどうすればよいですか?