GNU/Linux >> Tutoriels Linux >  >> Linux

Comment réparer ssh_exchange_identification :lire :erreur de connexion réinitialisée par un pair

Présentation

Une machine distante a empêché une connexion SSH que vous tentiez d'établir ou de maintenir. Le message "ssh_exchange_identification :lecture :réinitialisation de la connexion par l'homologue" n'est pas suffisamment précis pour expliquer immédiatement ce qui a déclenché l'erreur.

Pour pouvoir résoudre le problème avec succès, nous devons d'abord identifier sa cause. Cet article fournit une analyse approfondie des causes probables et propose les solutions les plus efficaces.

En lisant ce didacticiel, vous apprendrez à corriger l'erreur "ssh_exchange_identification :lecture :réinitialisation de la connexion par l'homologue".

Prérequis

  • Autorisations nécessaires pour accéder au serveur distant
  • Un compte utilisateur avec root ou sudo privilèges

Qu'est-ce qui cause l'erreur SSH « Connexion réinitialisée par un pair » ?

L'erreur « ssh_exchange_identification : lecture :réinitialisation de la connexion par l'homologue » indique que la machine distante a brusquement fermé le flux TCP (Transition Control Protocol). Dans la plupart des cas, un redémarrage rapide d'un serveur distant peut résoudre une panne temporaire ou un problème de connectivité.

Apprendre à résoudre ce problème et à déterminer la cause sous-jacente vous aide à prévenir de futures occurrences sur votre système. Les causes les plus courantes de l'erreur "ssh_exchange_identification : lecture :réinitialisation de la connexion par l'homologue" sont :

  • La connexion est bloquée en raison des listes de contrôle d'accès basées sur l'hôte.
  • Un logiciel de prévention des intrusions bloque votre adresse IP en mettant à jour les règles de pare-feu (Fail2ban, DenyHosts, etc.).
  • Modifications du fichier de configuration du démon SSH.

Vérifiez les fichiers hosts.deny et hosts.allow

Le hosts.deny et hosts.allow les fichiers sont des wrappers TCP. Par mesure de sécurité, ces fichiers sont utilisés pour limiter l'adresse IP ou le nom d'hôte pouvant établir une connexion avec la machine distante.

Comment modifier le fichier hosts.deny

Accédez à votre serveur distant et ouvrez le hosts.deny fichier à l'aide de votre éditeur de texte préféré. Si vous utilisez nano sur un système basé sur Debian, entrez la commande suivante :

sudo nano /etc/hosts.deny

Les lignes vides et les lignes commençant par le symbole « # » sont des commentaires. Vérifiez si vous pouvez localiser votre adresse IP locale ou votre nom d'hôte dans le fichier. S'il est présent, il doit être supprimé ou commenté, sinon il vous empêche d'établir une connexion à distance.

Après avoir apporté les modifications nécessaires, enregistrez le fichier et quittez. Essayez de vous reconnecter via SSH.

Comment modifier le fichier hosts.allow

Comme précaution supplémentaire, modifiez le hosts.allow dossier. Règles d'accès dans hosts.allow sont appliqués en premier. Elles prévalent sur les règles spécifiées dans hosts.deny dossier. Entrez la commande suivante pour accéder à hosts.allow fichier :

sudo nano /etc/hosts.allow

L'ajout de noms d'hôte et d'adresses IP au fichier définit des exceptions aux paramètres dans hosts.deny fichier.

Par exemple, une politique de sécurité stricte dans etc/hosts.deny fichier, refuserait l'accès à tous les hôtes :

sshd : ALL
ALL : ALL

Par la suite, vous pouvez ajouter une adresse IP unique, une plage d'adresses IP ou un nom d'hôte au fichier etc/hosts.allow. En ajoutant la ligne suivante, seule l'IP suivante serait autorisée à établir une connexion SSH avec votre serveur distant :

sshd : 10.10.0.5, LOCAL

Gardez à l'esprit qu'un tel paramètre de sécurité limitant peut affecter les capacités d'administration de vos serveurs distants.

Vérifiez si fail2ban a banni votre adresse IP

Si vous avez essayé de vous connecter à plusieurs reprises, votre adresse IP peut être bloquée par un logiciel de prévention des intrusions. Fail2ban est un service conçu pour vous protéger contre les attaques par force brute, et il peut interpréter à tort vos tentatives d'authentification comme une attaque.

Fail2ban surveille et modifie dynamiquement les règles de pare-feu pour interdire les adresses IP qui présentent un comportement suspect. Il surveille les journaux, comme hosts.deny et hosts.allow fichiers que nous avons modifiés précédemment.

Dans notre exemple, nous avons utilisé la commande suivante pour vérifier si l'outil iptables rejette vos tentatives de connexion :

sudo iptables -L --line-number

La sortie dans votre fenêtre de terminal va répertorier toutes les tentatives d'authentification. Si vous constatez qu'un pare-feu empêche effectivement votre connexion SSH, vous pouvez ajouter votre adresse IP à la liste blanche avec fail2ban. Sinon, le service bloquera en permanence toutes les tentatives futures. Pour accéder au fichier de configuration de fail2ban, saisissez la commande suivante :

sudo nano /etc/fail2ban/jail.conf

Modifiez le fichier en décommentant la ligne qui contient "ignoreip =" ajoutez l'adresse IP ou la plage d'adresses IP que vous souhaitez ajouter à la liste blanche.

Fail2ban va maintenant faire une exception et ne pas signaler un comportement suspect pour l'IP en question.

Vérifiez le fichier sshd_config

Si vous continuez à rencontrer l'erreur « ssh_exchange_identification :lecture :réinitialisation de la connexion par l'homologue », examinez l'entrée du journal d'authentification. Par défaut, le démon SSH envoie les informations de journalisation aux journaux système. Accédez au /var/log/auth.log fichier après votre tentative infructueuse de connexion. Pour consulter les dernières entrées de journal, saisissez :

tail -f /var/log/auth.log

La sortie présente les résultats de vos tentatives d'authentification, des informations sur votre compte d'utilisateur, votre clé d'authentification ou votre mot de passe.

Le journal vous fournit des informations qui peuvent vous aider à trouver d'éventuels problèmes dans le fichier de configuration sshd, sshd_config. Toute modification apportée au fichier peut affecter les conditions dans lesquelles une connexion ssh est établie et conduire le serveur distant à traiter le client comme incompatible. Pour accéder à sshd_config type de fichier :

sudo nano /etc/ssh/sshd_config

Le fichier de configuration sshd vous permet de modifier les paramètres de base, tels que le port TCP par défaut ou les paires de clés SSH pour l'authentification, ainsi que des fonctions plus avancées telles que la redirection de port.

Par exemple, les MaxStartups La variable définit le nombre de connexions qu'un système accepte dans une période prédéfinie. Si vous avez un système qui établit un grand nombre de connexions dans un court laps de temps, il peut être nécessaire d'augmenter les valeurs par défaut de cette variable. Sinon, le système distant pourrait refuser d'autres tentatives de connexions ssh.

Chaque fois que vous modifiez le sshd_config fichier, redémarrez le service sshd pour que les modifications prennent effet :

service sshd restart

Modifiez uniquement les variables qui vous sont familières. Un serveur peut devenir inaccessible en raison d'un fichier de configuration défectueux.


Linux
  1. Comment réparer l'erreur – ModSecurity :Accès refusé avec le code 44 [Apache]

  2. Erreur dans le fichier Sudoers ? Voici comment vous pouvez y remédier.

  3. Comment modifier votre fichier Hosts dans Windows 10

  4. Correction ::Erreur de connexion Linux SSH refusée

  5. Comment réparer - Erreur Apache :Aucun DirectoryIndex correspondant ?

Comment modifier le fichier Hosts sous Linux, Windows ou Mac

Comment réparer l'erreur de serveur interne 500 dans WordPress

Comment réparer :l'utilisateur n'est pas dans l'erreur de fichier sudoers

Comment lire un fichier ligne par ligne dans Bash

Comment réparer une erreur de conversion avec Calibre

Comment réparer une erreur de connexion à la base de données