GNU/Linux >> Linux Esercitazione >  >> Linux

Come risolvere ssh_exchange_identification:leggi:Connessione ripristinata da errore peer

Introduzione

Una macchina remota ha impedito una connessione SSH che stavi tentando di stabilire o mantenere. Il messaggio "ssh_exchange_identification:read:Connection reset by peer" non è sufficientemente specifico per spiegare immediatamente cosa ha provocato l'errore.

Per poter risolvere il problema con successo, dobbiamo prima identificarne la causa. Questo articolo fornisce un'analisi approfondita delle probabili cause e fornisce le soluzioni più efficaci.

Leggendo questo tutorial, imparerai come correggere l'errore "ssh_exchange_identification:leggi:connessione ripristinata dal peer".

Prerequisiti

  • Autorizzazioni necessarie per accedere al server remoto
  • Un account utente con root o sudo privilegi

Cosa causa l'errore SSH "Connessione ripristinata dal peer"?

L'errore "ssh_exchange_identification:read:Connection reset by peer" indica che la macchina remota ha chiuso bruscamente il flusso TCP (Transition Control Protocol). Nella maggior parte dei casi, un rapido riavvio di un server remoto potrebbe risolvere un'interruzione temporanea o un problema di connettività.

Imparare come risolvere questo problema e determinare la causa sottostante ti aiuta a prevenire eventi futuri sul tuo sistema. Le cause più comuni dell'errore "ssh_exchange_identification:read:Connection reset by peer" sono:

  • La connessione è stata bloccata a causa degli elenchi di controllo degli accessi basati sull'host.
  • Il software di prevenzione delle intrusioni sta bloccando il tuo IP aggiornando le regole del firewall (Fail2ban, DenyHosts, ecc.).
  • Modifiche al file di configurazione del demone SSH.

Controlla il file hosts.deny e hosts.allow

Il hosts.deny e hosts.allow i file sono wrapper TCP. Come funzionalità di sicurezza, questi file vengono utilizzati per limitare l'indirizzo IP o il nome host in grado di stabilire una connessione alla macchina remota.

Come modificare il file hosts.deny

Accedi al tuo server remoto e apri hosts.deny file utilizzando il tuo editor di testo preferito. Se stai usando nano su un sistema basato su Debian, inserisci il seguente comando:

sudo nano /etc/hosts.deny

Le righe vuote e le righe che iniziano con il simbolo '#' sono commenti. Controlla se riesci a individuare il tuo IP locale o il nome host nel file. Se è presente, dovrebbe essere rimosso o commentato, altrimenti impedisce di stabilire una connessione remota.

Dopo aver apportato le modifiche necessarie, salva il file ed esci. Tentativo di riconnessione tramite SSH.

Come modificare il file hosts.allow

Come ulteriore precauzione, modifica hosts.allow file. Regole di accesso all'interno di hosts.allow vengono applicati per primi. Hanno la precedenza sulle regole specificate in hosts.deny file. Immettere il comando seguente per accedere a hosts.allow file:

sudo nano /etc/hosts.allow

L'aggiunta di nomi host e IP al file definisce eccezioni alle impostazioni in hosts.deny file.

Ad esempio, una rigorosa politica di sicurezza all'interno di etc/hosts.deny file, negherebbe l'accesso a tutti gli host:

sshd : ALL
ALL : ALL

Successivamente, puoi aggiungere un singolo indirizzo IP, un intervallo IP o un nome host al file etc/hosts.allow. Aggiungendo la seguente riga, solo il seguente IP sarebbe autorizzato a stabilire una connessione SSH con il tuo server remoto:

sshd : 10.10.0.5, LOCAL

Tieni presente che tale impostazione di sicurezza limitante può influire sulle capacità di amministrazione dei tuoi server remoti.

Verifica se fail2ban ha vietato il tuo indirizzo IP

Se hai provato a connetterti in più occasioni, il tuo IP potrebbe essere bloccato da un software di prevenzione delle intrusioni. Fail2ban è un servizio progettato per proteggerti dagli attacchi di forza bruta e può interpretare erroneamente i tuoi tentativi di autenticazione come un attacco.

Fail2ban monitora e modifica dinamicamente le regole del firewall per vietare gli indirizzi IP che mostrano comportamenti sospetti. Monitora i log, come hosts.deny e hosts.allow file che abbiamo modificato in precedenza.

Nel nostro esempio, abbiamo utilizzato il comando seguente per verificare se lo strumento iptables rifiuta i tentativi di connessione:

sudo iptables -L --line-number

L'output nella finestra del tuo terminale elencherà tutti i tentativi di autenticazione. Se scopri che un firewall sta effettivamente impedendo la tua connessione SSH, puoi inserire nella whitelist il tuo IP con fail2ban. In caso contrario, il servizio bloccherà continuamente tutti i tentativi futuri. Per accedere al file di configurazione fail2ban, immettere il seguente comando:

sudo nano /etc/fail2ban/jail.conf

Modifica il file decommentando la riga che contiene "ignoreip =" aggiungi l'IP o l'intervallo IP che desideri inserire nella whitelist.

Fail2ban ora farà un'eccezione e non segnalerà comportamenti sospetti per l'IP in questione.

Controlla il file sshd_config

Se continui a riscontrare l'errore "ssh_exchange_identification:leggi:connessione ripristinata dal peer", esamina la voce del registro di autenticazione. Per impostazione predefinita, il demone SSH invia le informazioni di registrazione ai registri di sistema. Accedi a /var/log/auth.log file dopo il tentativo di accesso fallito. Per rivedere le ultime voci di registro, digita:

tail -f /var/log/auth.log

L'output presenta i risultati dei tuoi tentativi di autenticazione, informazioni sul tuo account utente, chiave di autenticazione o password.

Il registro fornisce informazioni che possono aiutarti a trovare possibili problemi nel file di configurazione sshd, sshd_config. Eventuali modifiche apportate al file possono influire sui termini in base ai quali viene stabilita una connessione ssh e indurre il server remoto a considerare il client come incompatibile. Per accedere a sshd_config tipo di file:

sudo nano /etc/ssh/sshd_config

Il file di configurazione sshd consente di modificare le impostazioni di base, come la porta TCP predefinita o le coppie di chiavi SSH per l'autenticazione, nonché funzioni più avanzate come il port forwarding.

Ad esempio, il MaxStartups variabile definisce quante connessioni accetta un sistema in un periodo predefinito. Se si dispone di un sistema che effettua un numero elevato di connessioni in un breve lasso di tempo, potrebbe essere necessario aumentare i valori predefiniti per questa variabile. In caso contrario, il sistema remoto potrebbe rifiutare ulteriori tentativi di connessione ssh.

Ogni volta che modifichi sshd_config file, riavvia il servizio sshd per rendere effettive le modifiche:

service sshd restart

Modifica solo le variabili che conosci. Un server può diventare irraggiungibile a causa di un file di configurazione difettoso.


Linux
  1. Correzione ::Connessione errore SSH Linux rifiutata

  2. Come risolvere il problema - Errore Apache:DirectoryIndex non corrispondente?

  3. Come risolvere l'errore di rifiuto della connessione wget quando sono dietro un proxy

  4. Linux rdesktop ERRORE recv Connessione ripristinata dal peer

  5. sshfs Connessione ripristinata dal peer con file di identificazione

Come modificare il file host in Linux, Windows o Mac

Come correggere l'errore interno del server 500 in WordPress

Come risolvere il problema:l'utente non è nell'errore del file sudoers

Come leggere un file riga per riga in Bash

Come correggere l'errore di conversione con Calibre

Come correggere un errore di connessione al database