GNU/Linux >> Linux Esercitazione >  >> Linux

Problemi SSH:lettura dal socket non riuscita:connessione ripristinata dal peer

Soluzione 1:

Il problema sembra un bug lato server. Quando il client invia l'elenco di cifrature, il server openssh probabilmente si aspetta di poter leggere l'elenco in una singola chiamata di sistema.

Se l'elenco delle crittografie supportate è più lungo di quello che può essere trasmesso in un pacchetto, il server potrebbe ricevere meno byte nella prima chiamata di quanto previsto. Il comportamento corretto sul server sarebbe eseguire un'altra chiamata per ottenere il resto dei byte. Ma dalla descrizione del problema appare, il server invece chiude la connessione quando non ha ricevuto l'elenco completo delle cifre in una sola volta. Quando arriva il prossimo pacchetto dal client, il server invierà una connessione ripristinata al client.

La configurazione del client per l'utilizzo di un elenco più breve di cifrari funzionerebbe quindi per aggirare il bug. Il client openssh cercherà l'elenco di cifrature nei seguenti posti:

  1. Sulla riga di comando utilizzando -c cipher_spec o -o Ciphers=cipher_spec
  2. In ~/.ssh/config specificando Ciphers cipher_spec nella relativa sezione host o prima del primo host.
  3. In /etc/ssh/ssh_config utilizzando lo stesso formato di ~/.ssh/config
  4. Un elenco predefinito integrato nel client in fase di compilazione.

I due file di configurazione sono rispettivamente impostazioni per utente e a livello di sistema. Utilizzando Ciphers aes128-ctr,aes192-ctr,aes256-ctr,arcfour256,arcfour128,aes128-cbc,3des-cbc come suggerito da Eric dovrebbe funzionare bene.

Soluzione 2:

Puoi specificare la cifratura nel file di configurazione ssh (/etc/ssh/ssh_config o simile, dipende da $PREFIX ecc.). Qualsiasi opzione passata al client ssh sulla riga di comando può essere impostata nel file di configurazione ssh (client).

Ecco la riga pertinente (basta rimuovere il commento):

#   Ciphers aes128-ctr,aes192-ctr,aes256-ctr,arcfour256,arcfour128,aes128-cbc,3des-cbc

Soluzione 3:

Il mio modo per risolverlo, spero che aiuti qualcuno :

# Recreate host keys
sudo rm /etc/ssh/ssh_host_*
sudo ssh-keygen -A

# Re-install SSh
sudo apt-get --reinstall install openssh-server openssh-client

Modifica sshd_config aggiungendo un valore

add :  MaxAuthTries 3

Modifica ssh_config decommentando un valore

Ciphers aes128-ctr,aes192-ctr,aes256-ctr,arcfour256,arcfour128,aes128-cbc,3des-cbc

Linux
  1. Connessione Ssh rifiutata dall'interno della LAN?

  2. Ssh:eseguire comandi remoti, staccando completamente dalla connessione Ssh?

  3. Avviare Vino Vnc Server dal client Ssh?

  4. "Connessione ripristinata dal peer" - errore durante ssh in un sistema CentOS/RHEL solo con un utente specifico

  5. Esiste una soluzione lato client per una disconnessione automatica troppo breve da una connessione SSH?

Come risolvere ssh_exchange_identification:leggi:Connessione ripristinata da errore peer

Come si esce da una connessione SSH?

Come posso leggere l'input dalla tastiera host quando sono connesso tramite SSH?

sshfs Connessione ripristinata dal peer con file di identificazione

Impedisci a ssh login di stampare motd dal client?

Init 1 da una sessione ssh remota (tramite VPN) interromperà la mia connessione ssh