GNU/Linux >> LINUX-Kenntnisse >  >> Linux

So beheben Sie ssh_exchange_identification:read:Connection reset by peer Error

Einführung

Ein Remote-Computer hat eine SSH-Verbindung verhindert, die Sie herzustellen oder aufrechtzuerhalten versuchten. Die Meldung „ssh_exchange_identification:read:Connection reset by peer“ ist nicht spezifisch genug, um sofort zu erklären, was den Fehler ausgelöst hat.

Um das Problem erfolgreich lösen zu können, müssen wir zunächst die Ursache ermitteln. Dieser Artikel enthält eine eingehende Analyse der wahrscheinlichen Ursachen und bietet die effektivsten Lösungen.

Indem Sie dieses Tutorial lesen, erfahren Sie, wie Sie den Fehler „ssh_exchange_identification:read:Connection reset by peer“ beheben.

Voraussetzungen

  • Erforderliche Berechtigungen für den Zugriff auf den Remote-Server
  • Ein Benutzerkonto mit root oder sudo Privilegien

Was verursacht den SSH-Fehler „Verbindung zurückgesetzt durch Peer“?

Der Fehler „ssh_exchange_identification:read:Connection reset by peer“ zeigt an, dass der Remote-Computer den Transition Control Protocol (TCP)-Stream abrupt geschlossen hat. In den meisten Fällen kann ein schneller Neustart eines Remote-Servers einen vorübergehenden Ausfall oder ein Verbindungsproblem lösen.

Wenn Sie lernen, wie Sie dieses Problem beheben und die zugrunde liegende Ursache ermitteln, können Sie zukünftige Vorkommnisse auf Ihrem System verhindern. Die häufigsten Ursachen für den Fehler „ssh_exchange_identification:read:Connection reset by peer“ sind:

  • Die Verbindung wird aufgrund der Host-Based Access Control Lists blockiert.
  • Intrusion Prevention-Software blockiert Ihre IP-Adresse, indem sie Firewall-Regeln (Fail2ban, DenyHosts usw.) aktualisiert.
  • Änderungen an der Konfigurationsdatei des SSH-Daemons.

Überprüfen Sie die Dateien hosts.deny und hosts.allow

Die hosts.deny und hosts.allow Dateien sind TCP-Wrapper. Als Sicherheitsfunktion werden diese Dateien verwendet, um einzuschränken, welche IP-Adresse oder welcher Hostname eine Verbindung zum Remote-Computer herstellen kann.

So bearbeiten Sie die hosts.deny-Datei

Greifen Sie auf Ihren Remote-Server zu und öffnen Sie hosts.deny Datei mit Ihrem bevorzugten Texteditor. Wenn Sie nano verwenden Geben Sie auf einem Debian-basierten System den folgenden Befehl ein:

sudo nano /etc/hosts.deny

Leerzeilen und Zeilen, die mit dem Symbol „#“ beginnen, sind Kommentare. Überprüfen Sie, ob Sie Ihre lokale IP oder Ihren Hostnamen in der Datei finden können. Wenn es vorhanden ist, sollte es entfernt oder auskommentiert werden, sonst hindert es Sie daran, eine Remote-Verbindung herzustellen.

Nachdem Sie die erforderlichen Änderungen vorgenommen haben, speichern Sie die Datei und beenden Sie sie. Versuchen Sie, sich erneut über SSH zu verbinden.

So bearbeiten Sie die hosts.allow-Datei

Bearbeiten Sie als zusätzliche Vorsichtsmaßnahme die Datei hosts.allow Datei. Zugriffsregeln innerhalb der hosts.allow werden zuerst angewendet. Sie haben Vorrang vor Regeln, die in hosts.deny angegeben sind Datei. Geben Sie den folgenden Befehl ein, um auf hosts.allow zuzugreifen Datei:

sudo nano /etc/hosts.allow

Das Hinzufügen von Hostnamen und IPs zur Datei definiert Ausnahmen von den Einstellungen in hosts.deny Datei.

Zum Beispiel eine strenge Sicherheitsrichtlinie innerhalb der etc/hosts.deny Datei, würde den Zugriff auf alle Hosts verweigern:

sshd : ALL
ALL : ALL

Anschließend können Sie der Datei etc/hosts.allow eine einzelne IP-Adresse, einen IP-Bereich oder einen Hostnamen hinzufügen. Durch das Hinzufügen der folgenden Zeile wird nur der folgenden IP erlaubt, eine SSH-Verbindung mit Ihrem Remote-Server herzustellen:

sshd : 10.10.0.5, LOCAL

Denken Sie daran, dass eine solche einschränkende Sicherheitseinstellung die Verwaltungsfunktionen auf Ihren Remote-Servern beeinträchtigen kann.

Überprüfen Sie, ob fail2ban Ihre IP-Adresse gesperrt hat

Wenn Sie mehrfach versucht haben, eine Verbindung herzustellen, wird Ihre IP-Adresse möglicherweise von einer Intrusion-Prevention-Software blockiert. Fail2ban ist ein Dienst, der Sie vor Brute-Force-Angriffen schützen soll und Ihre Authentifizierungsversuche fälschlicherweise als Angriff interpretieren kann.

Fail2ban überwacht und ändert Firewall-Regeln dynamisch, um IP-Adressen zu sperren, die verdächtiges Verhalten aufweisen. Es überwacht Protokolle wie hosts.deny und hosts.allow Dateien, die wir zuvor bearbeitet haben.

In unserem Beispiel haben wir den folgenden Befehl verwendet, um zu prüfen, ob das iptables-Tool Ihre Verbindungsversuche ablehnt:

sudo iptables -L --line-number

Die Ausgabe in Ihrem Terminalfenster listet alle Authentifizierungsversuche auf. Wenn Sie feststellen, dass eine Firewall Ihre SSH-Verbindung tatsächlich verhindert, können Sie Ihre IP-Adresse mit fail2ban auf die Whitelist setzen. Andernfalls wird der Dienst alle zukünftigen Versuche kontinuierlich blockieren. Um auf die Konfigurationsdatei fail2ban zuzugreifen, geben Sie den folgenden Befehl ein:

sudo nano /etc/fail2ban/jail.conf

Bearbeiten Sie die Datei, indem Sie die Zeile mit "ignoreip =" auskommentieren fügen Sie die IP oder den IP-Bereich hinzu, die Sie auf die Whitelist setzen möchten.

Fail2ban macht jetzt eine Ausnahme und meldet kein verdächtiges Verhalten für die betreffende IP.

Überprüfen Sie die sshd_config-Datei

Wenn der Fehler „ssh_exchange_identification:read:Connection reset by peer“ weiterhin auftritt, überprüfen Sie den Eintrag im Authentifizierungsprotokoll. Standardmäßig sendet der SSH-Daemon Protokollinformationen an die Systemprotokolle. Greifen Sie auf /var/log/auth.log zu Datei nach Ihrem fehlgeschlagenen Anmeldeversuch. Geben Sie Folgendes ein, um die neuesten Protokolleinträge zu überprüfen:

tail -f /var/log/auth.log

Die Ausgabe enthält die Ergebnisse Ihrer Authentifizierungsversuche, Informationen zu Ihrem Benutzerkonto, Authentifizierungsschlüssel oder Passwort.

Das Protokoll liefert Ihnen Informationen, die Ihnen helfen können, mögliche Probleme in der sshd-Konfigurationsdatei sshd_config. Alle an der Datei vorgenommenen Änderungen können sich auf die Bedingungen auswirken, unter denen eine SSH-Verbindung hergestellt wird, und dazu führen, dass der Remote-Server den Client als inkompatibel behandelt. Um auf die sshd_config zuzugreifen Dateityp:

sudo nano /etc/ssh/sshd_config

Die sshd-Konfigurationsdatei ermöglicht es Ihnen, grundlegende Einstellungen wie den Standard-TCP-Port oder SSH-Schlüsselpaare für die Authentifizierung sowie erweiterte Funktionen wie Port-Weiterleitung zu ändern.

Beispiel:MaxStartups Variable definiert, wie viele Verbindungen ein System in einem vordefinierten Zeitraum akzeptiert. Wenn Sie ein System haben, das in kurzer Zeit eine große Anzahl von Verbindungen herstellt, müssen Sie möglicherweise die Standardwerte für diese Variable erhöhen. Andernfalls könnte das entfernte System weitere SSH-Verbindungsversuche ablehnen.

Jedes Mal, wenn Sie die sshd_config bearbeiten Datei, starten Sie den sshd-Dienst neu, damit die Änderungen wirksam werden:

service sshd restart

Bearbeiten Sie nur die Variablen, mit denen Sie vertraut sind. Ein Server kann aufgrund einer fehlerhaften Konfigurationsdatei unerreichbar werden.


Linux
  1. So erhöhen Sie das Timeout der SSH-Verbindung

  2. Wie behebt man den Cron-Authentifizierungsfehler unter Linux?

  3. So beheben Sie den Fehler – ModSecurity:Zugriff verweigert mit Code 44 [Apache]

  4. Fehler in Sudoers-Datei? So können Sie es beheben.

  5. Fix ::Linux SSH-Fehlerverbindung abgelehnt

So bearbeiten Sie die Hosts-Datei unter Linux, Windows oder Mac

So beheben Sie den 500 Internal Server Error in WordPress

Problembehebung:Fehler „Benutzer befindet sich nicht in der Sudoers-Datei“.

So lesen Sie eine Datei Zeile für Zeile in Bash

So beheben Sie Konvertierungsfehler mit Calibre

So beheben Sie einen Datenbankverbindungsfehler