Linux
 Computer >> コンピューター >  >> トラブルシューティング >> Linux

ssh_exchange_identification「リモートホストによって接続が閉じられました」エラーの修正方法

ssh_exchange_identification: Connection closed by remote host(リモートホストによって接続が閉じられました)というエラーは、多くの場合、hosts.deny や hosts.allow の設定ファイルに起因しますが、それ以外の原因も考えられます。この記事を読んでいるということは、すでにこれらのファイルで自分のIPアドレスがブロックされていないかを確認済みである可能性が高いでしょう。

その場合、依存関係の問題、メモリの断片化、あるいは個々のクライアントからの過剰なセッション数などが原因として挙げられます。幸い、一度問題を解決してしまえば、このエラーが再び表示されることはないはずです。

方法1:不足している依存関係を修正する

OpenSSLやglibcを更新した後にのみこのエラーが発生するようになった場合は、依存関係の欠落が原因かもしれません。その際は、コマンドラインから sudo lsof -n | grep ssh | grep DEL を実行してください。開いているファイルの一覧が表示されるので、SSHデーモンに関連する最近削除されたファイルだけを探します。

ssh_exchange_identification「リモートホストによって接続が閉じられました」エラーの修正方法

何も表示されない場合は、デーモンまたはシステム自体の再起動を試みてください。多数のエラーが出力された場合には再起動を試す価値がありますが、/run/user/1000/gvfs に関するメッセージは無視しても問題ありません。これらは仮想ファイルシステムに関わる別の問題によるものだからです。

依存関係に問題があると疑われる場合は、apt-get、pacman、yum などを利用してパッケージを更新するのも有効です。DebianやUbuntuベースのシステムであれば、sudo apt-get -f upgrade を実行して、壊れたパッケージを修復できるか確認してみましょう。

方法2:メモリの断片化を解消する

上記の方法で解決しない場合は、ホスト側に問題がある可能性があります。VM内で稼働しているホストはスワップパーティションを持たないことがあり、それがメモリの断片化につながることがあります。別の手段(可能であれば物理的に)でホストへアクセスし、問題が発生しているサービスを再起動してください。MySQL、Apache、nginx などのサービスが原因となっているケースがよく見られます。

ホストの再起動は必ずしも実行可能とは限りませんが、問題を解消できる可能性があり、このエラーメッセージとIPアドレスを返すエラーが交互に現れるような状況では特に有効な対策です。また、サーバーへ何らかの形でアクセスできるのであれば、vmstat -s コマンドを実行してメモリの使用状況に関する重要な統計情報を取得できます。多くの場合、一般ユーザー権限でも実行可能です。

ssh_exchange_identification「リモートホストによって接続が閉じられました」エラーの修正方法

方法3:余分なSSHセッションを確認する

次に、他のホストがサーバーへの接続を試みていないかを確認しましょう。気づかないうちにSSHセッションの最大数を超えている可能性があります。古いセッションを整理してから、再接続を試みてください。手軽な方法のひとつは who コマンドを実行して、ログイン中のユーザープロセスを確認することです。ログインしているユーザーは1〜2人程度であるのが正常です。複数の並列セッションが存在する場合は、該当するユーザープロセスを終了させてから再度ログインしてみてください。

この問題は、ループ処理で多数のSSHセッションを起動するスクリプトに対して sshd が追いつけなくなった場合にも発生します。該当する場合は、ループ内に sleep 0.3 コマンドを追加し、sshdデーモンが処理を追いつけるための時間を確保しましょう。

方法4:sshdの接続上限を確認する

この種の接続トラブルは、SSHでルーターや独立型のスイッチ類にアクセスしようとする際に特に頻発します。これらの機器はデフォルトの最大接続数が非常に小さく設定されているためです。サーバーに過度な負荷をかけるのは避けるべきですが、デフォルト設定がどうなっているかを把握しておくことは有益です。

サーバー上で以下の画像のようなコマンドを実行し、sshd が処理できる最大接続数を確認してください。ほとんどの場合、デフォルトでは同時接続数は10に設定されており、日常的にSSHを利用するほとんどのサーバー構成にとって十分な値となっています。

ssh_exchange_identification「リモートホストによって接続が閉じられました」エラーの修正方法

  1. リモートデスクトップ接続で「内部エラーが発生しました」と表示されたときの対処法10選

    PCからリモートコンピューターに接続しようとした際に、「リモートデスクトップ接続で内部エラーが発生しました」というメッセージが表示されて困っていませんか?このエラーは多くのユーザーが経験しており、発生原因が複数考えられるため、原因の特定に戸惑う方も少なくありません。しかし安心してください。本記事では、このエラーを素早く解決するための具体的な方法を詳しく解説します。最後まで読めば、きっと問題を解消できるはずです。 リモートデスクトップ接続の内部エラーの主な原因 このエラーにはいくつかの原因が考えられます。代表的なものを以下にまとめました。 現在接続中のドメインに関する問題 リモート接続が無効

  2. 【解決済み】Windows 11/10/8/7でリモートデスクトップ接続のコピー&ペーストが機能しない問題の直し方

    リモートデスクトップ接続でコピー&ペースト機能が動作しない場合は、この記事の手順に従って問題を解決しましょう。Microsoftのリモートデスクトップ接続(RDP)アプリを使えば、離れた場所にある別のコンピューターへ簡単にリモート接続できます。 リモートデスクトップ接続の重要な機能のひとつが、リモート側のコンピューター上のファイルにアクセスし、ローカルPCとリモートPCの間でシームレスにデータをやり取りできることです。しかし、RDPでよく発生するトラブルとして、ローカルコンピューターからテキストやファイルをコピーしてリモートコンピューターに貼り付けられない(またはその逆)という問題があります。