Come correggere l'errore "ssh_exchange_identification: read: Connection reset by peer"?


21

Non riesco a collegarmi al mio server tramite ssh usando il mio computer, ma posso collegarmi a questo server tramite il mio cellulare usando l'app termius. Ho controllato /etc/hosts.allowe /etc/hosts.denyed i miei iptables, e ho cercato alse google, a quanto pare nessuna risposta si inserisce questo problema. Non so come risolverlo, ecco l' ssh -v 183.17.228.80output

debug1: Connecting to 183.17.228.80 [183.17.228.80] port 22.
debug1: Connection established.=======================   
debug1: permanently_set_uid: 0/0   
debug1: SELinux support disabled  
debug1: key_load_public: No such file or directory    
debug1: identity file /root/.ssh/id_rsa type -1    
debug1: key_load_public: No such file or directory   
debug1: identity file /root/.ssh/id_rsa-cert type -1      
debug1: key_load_public: No such file or directory   
debug1: identity file /root/.ssh/id_dsa type -1   
debug1: key_load_public: No such file or directory   
debug1: identity file /root/.ssh/id_dsa-cert type -1   
debug1: key_load_public: No such file or directory   
debug1: identity file /root/.ssh/id_ecdsa type -1  
debug1: key_load_public: No such file or directory   
debug1: identity file /root/.ssh/id_ecdsa-cert type -1   
debug1: key_load_public: No such file or directory  
debug1: identity file /root/.ssh/id_ed25519 type -1   
debug1: key_load_public: No such file or directory  
debug1: identity file /root/.ssh/id_ed25519-cert type -1  
debug1: Enabling compatibility mode for protocol 2.0  
debug1: Local version string SSH-2.0-OpenSSH_7.2p2 Ubuntu-4ubuntu2.2   
ssh_exchange_identification: read: Connection reset by peer

Posso eseguire il ping di questo server, ecco telnet

telnet 183.17.228.29 22  
Trying 183.17.228.29...  
Connected to 183.17.228.29.  
Escape character is '^]'.                                                                 
Connection closed by foreign host.

Potrebbe voler verificare se hai installato DenyHosts, DenyHosts ha i propri file di host consentiti e negati.
Robby1212,

sei sicuro che il software in esecuzione sul PC sia compatibile con tutte le modalità di crittografia SSH?
Tharaka Devinda,

come ho già detto, ho controllato i file hosts, non per DenyHosts
user3054879

Non sono sicuro, forse l'algoritmo di codifica era diverso, ma il mio client era stucco .... ma posso
usare

Dal percorso dei file chiave suppongo che ti stai collegando come root. Questo di solito non è abilitato; guarda la tua configurazione sshd. ssh -vvvpotrebbe darti maggiori informazioni.
ridicolo

Risposte:


12

Basta riavviare il server che si desidera inviare. Ha funzionato per me, in precedenza stavo affrontando lo stesso problema.


1
Impossibile trovare la causa principale, ma il riavvio ha funzionato per me.
Raghavendra N,

2
Ho riscontrato lo stesso problema quando ssh sul mio server gratuito su AWS. È causato dal server è l'esaurimento della memoria. Il riavvio funziona.
leon

@thistleknot, il riavvio funziona per me ed è una soluzione rapida e semplice. Niente di orribile al riguardo. In effetti non so cosa abbia causato il problema, ma il riavvio ha risolto qualcosa.
Cugina Cocaina,

Se il riavvio ha funzionato probabilmente non è un problema di configurazione, ma piuttosto un problema di risorse. Forse aumentare la priorità di ssh avrebbe potuto fare il trucco.
JohnRos,

1
riavviare il server è un suggerimento molto brutto.
Hossein Vatani,

8

Ciò significa in realtà che il tuo IP è nella lista nera del server. Prova a inserire nella whitelist il tuo indirizzo IP per poter accedere. Puoi dare un'occhiata all'elenco / etc / hosts per vedere se l'indirizzo IP del tuo server è cambiato.


7
Questo non è necessariamente il caso.
sempaiscuba,

2
Questo sembrava essere vero per me. Ho scoperto che il mio server Cloudways aveva inserito nella lista nera il mio IP di casa e che avevo bisogno di inserirlo nella whitelist manualmente.
Ryan,

Il problema è scomparso dopo poche ore, non so perché ma non avevo bisogno di riavviare.
Salem F

Grazie per il commento su: "Il server Cloudways ha inserito nella mia lista nera il mio IP di casa" - questo ci era appena successo - è stato autorizzato manualmente e tutto bene.
Jules Matthews,

1

L'errore sopra riportato si verifica quando hai un limite di fallito prova ad autenticarti sul server e hai troppe chiavi ssh sul tuo client (più del valore di MaxAuthTries)

Quello che puoi provare è aumentare il valore di MaxAuthTries e riavviare il demone sshd. Oppure puoi limitare il numero di chiavi nella tua ~/.sshdirectory e utilizzare le sottodirectory e i ~/.ssh/configfile per definire la chiave per host / gruppo di host


Ho provato questo, ma non ci sono riuscito, infatti ho quasi provato tutti i metodi che riesco a trovare su Internet, suppongo che la chiave fosse l'algoritmo di negeotiation di crittografia, ma non so come risolverlo
user3054879

2
cosa hai provato aggiorna la tua domanda
Romeo Ninov,

1

Il modo in cui ho risolto il problema è che sono andato al computer host ed ho eseguito alcuni comandi.

sudo mkdir /var/run/sshd
sudo chmod 755 -R /var/run/sshd
sudo service ssh restart

Dopo mi sono collegato alla macchina.


1

Ho avuto la stessa cosa, e avevo bisogno di ssh -v 'ip addr' e poi ho visto che dovevo accettare il certificato. Inoltre può essere un ACL o un mastice che blocca la regola del percorso: esempio -

Il client Putty ha 10.xxx addr con firewall che impediscono alla rete aziendale di comunicare con gli host DMZ, ma il tuo telefono cellulare a 58.xxx qualunque indirizzo IP pubblico può comunicare con l'host dmz che stai cercando di raggiungere.

quindi guarderei le informazioni ssh -v quando provi a connetterti di nuovo, vedo se riesci a raccogliere qualsiasi informazione, e quindi controlla se ci sono regole che ti impediscono di accedere al tuo server a livello di firewall o router, non in un denyhosts file sul server stesso.


0

Sto usando il mio hot spot cellulare per connettermi al web, mentre lavoravo la console si bloccava e non riuscivo più a connettermi ssh_exchange_identification: read: Connection reset by peer

Ho provato a ripristinare l'SRV ma non ha aiutato

Solo quando modifico la mia connessione di rete (a un hotspot su un altro cellulare) potrei riconnettermi.

NOTA: posso ancora utilizzare la vecchia connessione per connettermi a SRV su un AWS diverso, strano ...


0

Per risolvere il problema, procedere come segue:

  1. Riavvia il server dal terminale online del server.

Se questo non funziona,

  1. Modifica il file $HOME/.ssh/known_hosts
  2. Eliminare qualsiasi contenuto all'interno di questo file, quando si riconnetterà a qualsiasi server SSH, è necessario accettare nuovamente le connessioni.

1
-1 per la completa cancellazione di known_hosts. Sarebbe meglio modificare questo particolare host in questione (anche se dubito che aiuterà qui).
David Foerster,


0

Ci possono essere molte ragioni, ma una delle ragioni più possibili può essere (nel mio caso) ssh / porta 22 non è consentita dal firewall .

Puoi consentire la connessione ssh tramite l' interfaccia utente (alcuni provider lo consentono) o Se hai un metodo alternativo per accedere (es. Digitalocean fornisce un pulsante console) puoi eseguire sotto il comando

sudo ufw allow ssh
sudo ufw allow 22

0

Sembra che il demone ssh sul server sia bloccato. Sei sicuro che stia funzionando? Quando telnet in ssh, devi vedere una firma. Qualcosa di simile a:

telnet unixhow.com 22
Trying 35.228.26.20...
Connected to unixhow.com.
Escape character is '^]'.
SSH-2.0-OpenSSH_7.6p1 Ubuntu-4ubuntu0.1

Quello che vedo dal tuo output è che il demone ssh non risponde sul lato server. Consiglio di collegarmi via IP-KVM (o in qualche altro modo) alla macchina remota e riavviare sshd.


0

Questo potrebbe essere perché non hai un server openssh in esecuzione su Ubuntu. È possibile eseguire il comando seguente per verificare lo stato del server openssh.

ubuntu@ubuntu:~$ sudo systemctl status ssh
● ssh.service - OpenBSD Secure Shell server
   Loaded: loaded (/lib/systemd/system/ssh.service; enabled; vendor preset: enabled)
   Active: active (running) since Wed 2019-03-20 11:52:16 GMT; 5min ago
  Process: 1034 ExecStartPre=/usr/sbin/sshd -t (code=exited, status=0/SUCCESS)
 Main PID: 1058 (sshd)
    Tasks: 1
   Memory: 5.1M
      CPU: 122ms
   CGroup: /system.slice/ssh.service
           └─1058 /usr/sbin/sshd -D

Mar 20 11:52:15 ubuntu systemd[1]: Starting OpenBSD Secure Shell server...
Mar 20 11:52:16 ubuntu sshd[1058]: Server listening on 0.0.0.0 port 22.
Mar 20 11:52:16 ubuntu sshd[1058]: Server listening on :: port 22.
Mar 20 11:52:16 ubuntu systemd[1]: Started OpenBSD Secure Shell server.
Mar 20 11:52:24 ubuntu sshd[1131]: Connection closed by 10.0.2.2 port 60566 [preauth]
Mar 20 11:53:59 ubuntu sshd[1135]: Accepted password for ubuntu from 10.0.2.2 port 60654 ssh2
Mar 20 11:53:59 ubuntu sshd[1135]: pam_unix(sshd:session): session opened for user ubuntu by (uid=0)
Mar 20 11:57:48 ubuntu sshd[1238]: Accepted password for ubuntu from 10.0.2.2 port 61124 ssh2
Mar 20 11:57:48 ubuntu sshd[1238]: pam_unix(sshd:session): session opened for user ubuntu by (uid=0)

In caso contrario active (running), potresti voler installare e / o avviare openssh-server. Puoi farlo con i comandi mostrati di seguito.

sudo apt update
sudo apt install openssh-server

0

Ho avuto lo stesso problema ma dopo aver riavviato il demone sshd ho potuto connettermi all'host.

sudo systemctl restart sshd && systemctl status sshd

Questa è solo una soluzione temporanea fino a quando non si aumenta il parametro MaxAuthTries.


0

La mia soluzione è aggiungere il mio indirizzo IP locale a /etc/hosts.allow:

sshd:192.168.10.88:allow

questo funziona per me.


-2
  1. Verificare che sshd sia installato e in esecuzione sul server.
  2. Assicurati che il demone sia installato e avviato. Devi essere in grado di "man sshd". Penso che quel pacchetto sia open-ssl e dovrai avviare il demone (e fermarlo quando non ti serve.).

ovviamente ho installato sshd, come ho già detto, posso ssh sullo stesso server con capolinea su iphone ... ma putty fallito
user3054879
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.