ssh_exchange_identification: read: Connection reset by peer の原因と対処

  • URLをコピーしました!
目次

1. エラー概要

SSH 接続を試みた際に以下のエラーが表示され、接続が拒否されることがあります。

ssh_exchange_identification: read: Connection reset by peer

このエラーは、サーバー側で接続が開始直後にリセットされた場合に発生します。原因は多岐にわたりますが、TCP Wrapper、同時接続数の制限、fail2ban などのセキュリティツールの影響が代表例です。

2. 主な原因と確認方法

2-1. TCP Wrapper (hosts.allow / hosts.deny)

  • 対象ファイル
    • /etc/hosts.allow
    • /etc/hosts.deny
  • 原因
    TCP Wrapper が設定されており、接続元 IP が拒否リストに該当している場合。
  • 確認方法 cat /etc/hosts.allow cat /etc/hosts.deny

2-2. 同時接続数の制限

  • 対象ファイル
    /etc/ssh/sshd_config
  • 原因
    SSH の同時接続数制限に達している場合。
  • 関連パラメータ
    • MaxSessions
    • MaxStartups
  • 確認方法 grep -E "MaxSessions|MaxStartups" /etc/ssh/sshd_config

2-3. fail2ban の影響

  • 原因
    不正アクセス防止ツール fail2ban により、接続元 IP がブロックされている場合。
  • 確認方法 fail2ban-client status sshd fail2ban-client status sshd | grep -i banned

3. 解決方法

3-1. TCP Wrapper の設定確認・修正

  • /etc/hosts.allow に許可設定を追加する。 echo "sshd: 192.168.1.100" >> /etc/hosts.allow
  • /etc/hosts.deny に不要な拒否設定があればコメントアウトする。

3-2. SSH 同時接続数の調整

  • sshd_config を編集し、制限値を緩和する。 vi /etc/ssh/sshd_config 例: MaxSessions 10 MaxStartups 10:30:100
  • 反映には SSH サービス再起動が必要。 systemctl restart sshd

3-3. fail2ban からの解除

  • ブロックされている IP を確認。 fail2ban-client status sshd
  • IP を解除。 fail2ban-client set sshd unbanip <IPアドレス>

4. まとめ

  • TCP Wrapper:接続元が拒否されていないか確認
  • SSH 設定:同時接続数の上限を調整
  • fail2ban:誤ってブロックされていないか確認

このエラーは「アクセスが完全に拒否されている」場合に発生するため、サーバーログ /var/log/secure/var/log/auth.log も併せて確認すると原因特定がスムーズです。

よくあるエラーと解決方法まとめ
目次