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

ssh_exchange_identificationを修正する方法:読み取り:ピアエラーによって接続がリセットされました

はじめに

リモートマシンが、確立または維持しようとしていたSSH接続を阻止しました。 「ssh_exchange_identification:read:Connection reset by peer」メッセージは、エラーの原因をすぐに説明できるほど具体的ではありません。

問題を正常に解決するには、まず原因を特定する必要があります。この記事では、考えられる原因の詳細な分析と、最も効果的な解決策を提供します。

このチュートリアルを読むことで、「ssh_exchange_identification:read:Connectionresetbypeer」エラーを修正する方法を学びます。

前提条件

  • リモートサーバーにアクセスするために必要な権限
  • rootまたはsudoを持つユーザーアカウント 特権

「ピアによる接続リセット」SSHエラーの原因

「ssh_exchange_identification:read:Connection reset by peer」エラーは、リモートマシンがTransition Control Protocol(TCP)ストリームを突然閉じたことを示します。ほとんどの場合、リモートサーバーをすばやく再起動すると、一時的な停止や接続の問題が解決する可能性があります。

この問題のトラブルシューティング方法を学び、根本的な原因を特定することは、システムでの将来の発生を防ぐのに役立ちます。 「ssh_exchange_identification:read:Connectionresetbypeer」エラーの最も一般的な原因は次のとおりです。

  • ホストベースのアクセス制御リストが原因で接続がブロックされています。
  • 侵入防止ソフトウェアは、ファイアウォールルール(Fail2ban、DenyHostsなど)を更新することでIPをブロックしています。
  • SSHデーモン構成ファイルへの変更。

hosts.denyおよびhosts.allowファイルを確認してください

hosts.deny およびhosts.allow ファイルはTCPラッパーです。セキュリティ機能として、これらのファイルは、リモートマシンへの接続を確立できるIPアドレスまたはホスト名を制限するために使用されます。

hosts.denyファイルを編集する方法

リモートサーバーにアクセスし、 hosts.denyを開きます お好みのテキストエディタを使用してファイルします。 nanoを使用している場合 Debianベースのシステムでは、次のコマンドを入力します:

sudo nano /etc/hosts.deny

空の行と「#」記号で始まる行はコメントです。ファイル内でローカルIPまたはホスト名を見つけることができるかどうかを確認してください。存在する場合は、削除またはコメントアウトする必要があります。そうしないと、リモート接続を確立できなくなります。

必要な変更を加えたら、ファイルを保存して終了します。 SSH経由で再接続してみてください。

hosts.allowファイルを編集する方法

追加の予防策として、 hosts.allowを編集します ファイル。 hosts.allow内のアクセスルール 最初に適用されます。これらは、 hosts.denyで指定されたルールよりも優先されます ファイル。次のコマンドを入力して、 hosts.allowにアクセスします。 ファイル:

sudo nano /etc/hosts.allow

ファイルにホスト名とIPを追加すると、 hosts.denyの設定に対する例外が定義されます。 ファイル。

たとえば、 etc / hosts.deny内の厳格なセキュリティポリシー ファイル、すべてのホストへのアクセスを拒否します:

sshd : ALL
ALL : ALL

その後、単一のIPアドレス、IP範囲、またはホスト名をetc/hosts.allowファイルに追加できます。次の行を追加すると、次のIPのみがリモートサーバーとのSSH接続を確立できるようになります。

sshd : 10.10.0.5, LOCAL

このような制限付きのセキュリティ設定は、リモートサーバーの管理機能に影響を与える可能性があることに注意してください。

fail2banがIPアドレスを禁止したかどうかを確認する

複数回接続しようとした場合、侵入防止ソフトウェアによってIPがブロックされている可能性があります。 Fail2ban はブルートフォース攻撃からユーザーを保護するために設計されたサービスであり、認証の試みを攻撃と誤解する可能性があります。

Fail2banは、ファイアウォールルールを監視して動的に変更し、疑わしい動作を示すIPアドレスを禁止します。 hosts.denyなどのログを監視します およびhosts.allow 以前に編集したファイル。

この例では、次のコマンドを使用して、iptablesツールが接続の試行を拒否しているかどうかを確認しました。

sudo iptables -L --line-number

ターミナルウィンドウの出力には、すべての認証試行が一覧表示されます。ファイアウォールが実際にSSH接続を妨げていることがわかった場合は、fail2banを使用してIPをホワイトリストに登録できます。それ以外の場合、サービスは今後のすべての試行を継続的にブロックします。 fail2ban構成ファイルにアクセスするには、次のコマンドを入力します。

sudo nano /etc/fail2ban/jail.conf

"ignoreip ="を含む行のコメントを解除して、ファイルを編集します ホワイトリストに登録するIPまたはIP範囲を追加します。

Fail2banは例外を作成し、問題のIPの疑わしい動作を報告しません。

sshd_configファイルを確認してください

「ssh_exchange_identification:read:Connection reset by peer」エラーが引き続き発生する場合は、認証ログエントリを確認してください。デフォルトでは、SSHデーモンはログ情報をシステムログに送信します。 /var/log/auth.logにアクセスします ログインに失敗した後のファイル。最新のログエントリを確認するには、次のように入力します。

tail -f /var/log/auth.log

出力には、認証の試行結果、ユーザーアカウント、認証キー、またはパスワードに関する情報が表示されます。

ログには、sshd構成ファイルsshd_configで発生する可能性のある問題を見つけるのに役立つ情報が含まれています。 ファイルに加えられた変更は、ssh接続が確立される条件に影響を与え、リモートサーバーがクライアントを互換性がないものとして扱うようになる可能性があります。 sshd_configにアクセスするには ファイルの種類:

sudo nano /etc/ssh/sshd_config

sshd構成ファイルを使用すると、認証用のデフォルトのTCPポートやSSHキーのペアなどの基本設定や、ポート転送などのより高度な機能を変更できます。

たとえば、 MaxStartups 変数は、システムが事前定義された期間に受け入れる接続の数を定義します。短時間に多数の接続を確立するシステムがある場合は、この変数のデフォルト値を増やす必要がある場合があります。そうしないと、リモートシステムが追加のssh接続の試行を拒否する可能性があります。

sshd_configを編集するときはいつでも ファイルを作成し、sshdサービスを再起動して、変更を有効にします。

service sshd restart

使い慣れた変数のみを編集してください。構成ファイルに障害があるため、サーバーにアクセスできなくなる可能性があります。


Linux
  1. Linuxでのcron認証失敗エラーを修正するにはどうすればよいですか?

  2. 修正方法-Apacheエラー:一致するDirectoryIndexがありませんか?

  3. 識別ファイルを使用してピアによって sshfs 接続がリセットされる

  1. エラーを修正する方法– ModSecurity:コード44でアクセスが拒否されました[Apache]

  2. Sudoersファイルにエラーがありますか?修正方法は次のとおりです。

  3. 修正::LinuxSSHエラー接続が拒否されました

  1. プロキシの背後にいるときに wget 接続拒否エラーを修正する方法

  2. Linux rdesktop ERROR recv ピアによる接続のリセット

  3. SSH の問題:ソケットからの読み取りに失敗しました:ピアによって接続がリセットされました