SSH-fout: Identiteitsuitwisseling mislukt, verbinding verbroken

In veel gevallen wordt de foutmelding `ssh_exchange_identification: Connection closed by remote host` veroorzaakt door problemen met de configuratiebestanden `hosts.deny` en `hosts.allow`, maar er zijn ook andere mogelijke oorzaken. Als u dit leest, heeft u waarschijnlijk al gecontroleerd of geen van beide bestanden voorkomt dat uw IP-adres probeert `ssh` te gebruiken op een externe server.

Ervan uitgaande dat dit het geval is, kan het probleem te maken hebben met afhankelijkheden, geheugenfragmentatie of zelfs een overmatig aantal inkomende sessies van individuele clients. Het goede nieuws is dat de fout niet opnieuw zal optreden zodra het probleem is opgelost.

Methode 1: Ontbrekende afhankelijkheden herstellen

Als je de foutmelding `ssh_exchange_identification: connection closed by remote host` pas krijgt nadat je `OpenSSL` of `glibc` hebt bijgewerkt, kan het probleem te maken hebben met een ontbrekende afhankelijkheid. Voer in dat geval de volgende opdracht uit: sudo lsof -n | grep ssh | grep DEL Via de commandoregel. Dit geeft je een lijst met geopende bestanden. Zoek vervolgens naar bestanden die recent zijn verwijderd en gerelateerd zijn aan de `ssh`-service (daemon).

Als je geen resultaten krijgt, kun je proberen de service (daemon) of het systeem zelf opnieuw op te starten. Je moet het systeem opnieuw opstarten als je meerdere foutmeldingen krijgt, hoewel je de berichten met betrekking tot `/run/user/1000/gvfs` veilig kunt negeren, aangezien deze worden veroorzaakt door een ander probleem met het virtuele bestandssysteem.

Je kunt ook proberen je pakketten bij te werken met `apt-get`, `pacman` of `yum` als je vermoedt dat afhankelijkheden een probleem vormen. Als je een op Debian of Ubuntu gebaseerd systeem gebruikt, kun je het volgende proberen: sudo apt-get -f upgrade Om te kijken of dat eventuele beschadigde pakketten verhelpt.

Methode 2: Het corrigeren van geheugenfragmentatie

Als dit niet helpt, ligt het probleem mogelijk aan de kant van de host. Hosts die in een virtuele machine (VM) draaien, hebben niet altijd een swap-partitie, wat kan leiden tot geheugenfragmentatie. Probeer de host op een andere manier te benaderen, bijvoorbeeld fysiek indien mogelijk, en herstart vervolgens alle services die problemen ondervinden. MySQL, Apache, nginx en andere vergelijkbare services zouden de boosdoener kunnen zijn.

Hoewel het herstarten van de host niet altijd mogelijk is, kan het het probleem oplossen en is het wellicht een goed idee als u afwisselend deze foutmelding en een andere foutmelding met een IP-adres krijgt. Houd er rekening mee dat als u toegang hebt tot de server, u het commando kunt uitvoeren. vmstat-s En om belangrijke statistieken te verkrijgen over hoe het geheugen wordt gebruikt, zelfs door een normale gebruiker in veel gevallen.

De derde methode: controleren op extra SSH-kopieën

Als dat niet de oorzaak is, controleer dan of de hosts proberen verbinding te maken met de server. Mogelijk hebt u onbewust het maximale aantal SSH-sessies overschreden. Beëindig de oude sessies en probeer opnieuw verbinding te maken. Een eenvoudige manier om dit te doen is door het commando `/` uit te voeren. die Om de activiteit van geregistreerde gebruikers te zien, zou u slechts één of twee geregistreerde gebruikers moeten zien. Als er meerdere gelijktijdige sessies zijn, sluit dan de gebruikerssessies en probeer opnieuw in te loggen.

Dit kan gebeuren als sshd een script niet kan bijhouden dat veel verschillende ssh-sessies in een lus start. Als dit je eerder is overkomen, voeg dan de volgende opdracht toe. slaap 0.3 Om de iteratieve lus de tijd te geven die nodig is om de verborgen sshd-server bij te benen, zodat deze de tijd krijgt om bij te blijven.

Methode 4: De limiet voor sshd-verbindingen bepalen

Verbindingsproblemen zoals deze komen vooral vaak voor bij het gebruik van SSH om toegang te krijgen tot een router of ander type geïntegreerde netwerkadapter, omdat het standaard maximum aantal verbindingen erg laag is. Hoewel je de server niet wilt overbelasten, kun je de standaardinstellingen controleren.

Probeer het eens uit te voeren De server moet geconfigureerd zijn om een ​​bepaald aantal verbindingen te verwerken. In de meeste gevallen is de standaard systeeminstelling 10 gelijktijdige verbindingen, wat voldoende is voor de meeste serverarchitecturen waar de meerderheid van de gebruikers regelmatig SSH moet gebruiken.

 

Reacties zijn gesloten.