GNU/Linux >> Tutoriales Linux >  >> Linux

Cómo arreglar ssh_exchange_identification:leer:Restablecimiento de la conexión por error del par

Introducción

Una máquina remota ha impedido una conexión SSH que estaba intentando establecer o mantener. El mensaje "ssh_exchange_identification:read:Connection reset by peer" no es lo suficientemente específico como para explicar de inmediato qué provocó el error.

Para poder resolver el problema con éxito, primero debemos identificar su causa. Este artículo proporciona un análisis en profundidad de las causas probables y proporciona las soluciones más eficaces.

Al leer este tutorial, aprenderá a corregir el error "ssh_exchange_identification:read:Connection reset by peer".

Requisitos previos

  • Permisos necesarios para acceder al servidor remoto
  • Una cuenta de usuario con root o sudo privilegios

¿Qué causa el error SSH "Restablecimiento de la conexión por par"?

El error "ssh_exchange_identification:read:Connection reset by peer" indica que la máquina remota cerró abruptamente el flujo del Protocolo de control de transición (TCP). En la mayoría de los casos, un reinicio rápido de un servidor remoto podría resolver un problema de conectividad o una interrupción temporal.

Aprender a solucionar este problema y determinar la causa subyacente lo ayuda a prevenir futuras ocurrencias en su sistema. Las causas más comunes del error “ssh_exchange_identification:read:Connection reset by peer” son:

  • La conexión está siendo bloqueada debido a las listas de control de acceso basadas en host.
  • El software de prevención de intrusiones está bloqueando su IP al actualizar las reglas del firewall (Fail2ban, DenyHosts, etc.).
  • Cambios en el archivo de configuración del demonio SSH.

Compruebe el archivo hosts.deny y hosts.allow

Los hosts.deny y hosts.permitir los archivos son envoltorios TCP. Como función de seguridad, estos archivos se utilizan para limitar qué dirección IP o nombre de host puede establecer una conexión con la máquina remota.

Cómo editar el archivo hosts.deny

Acceda a su servidor remoto y abra hosts.deny archivo utilizando su editor de texto preferido. Si está utilizando nano en un sistema basado en Debian, ingrese el siguiente comando:

sudo nano /etc/hosts.deny

Las líneas vacías y las líneas que comienzan con el símbolo '#' son comentarios. Compruebe si puede localizar su IP local o nombre de host en el archivo. Si está presente, debe eliminarse o comentarse, o de lo contrario le impide establecer una conexión remota.

Después de realizar los cambios necesarios, guarde el archivo y salga. Intenta volver a conectarte a través de SSH.

Cómo editar el archivo hosts.allow

Como precaución adicional, edite el hosts.allow expediente. Reglas de acceso dentro de hosts.allow se aplican primero. Tienen prioridad sobre las reglas especificadas en hosts.deny expediente. Introduzca el siguiente comando para acceder a hosts.allow archivo:

sudo nano /etc/hosts.allow

Agregar nombres de host e IP al archivo define excepciones a la configuración en hosts.deny archivo.

Por ejemplo, una política de seguridad estricta dentro de etc/hosts.deny archivo, negaría el acceso a todos los hosts:

sshd : ALL
ALL : ALL

Posteriormente, puede agregar una sola dirección IP, un rango de IP o un nombre de host al archivo etc/hosts.allow. Al agregar la siguiente línea, solo la siguiente IP podrá establecer una conexión SSH con su servidor remoto:

sshd : 10.10.0.5, LOCAL

Tenga en cuenta que una configuración de seguridad tan limitada puede afectar las capacidades de administración en sus servidores remotos.

Compruebe si fail2ban prohibió su dirección IP

Si ha intentado conectarse en varias ocasiones, es posible que su IP esté bloqueada por un software de prevención de intrusiones. Fail2ban es un servicio diseñado para protegerlo de ataques de fuerza bruta y puede malinterpretar sus intentos de autenticación como un ataque.

Fail2ban monitorea y altera dinámicamente las reglas del firewall para prohibir las direcciones IP que exhiben un comportamiento sospechoso. Supervisa registros, como hosts.deny y hosts.permitir archivos que editamos anteriormente.

En nuestro ejemplo, usamos el siguiente comando para verificar si la herramienta iptables está rechazando sus intentos de conexión:

sudo iptables -L --line-number

El resultado en la ventana de su terminal mostrará una lista de todos los intentos de autenticación. Si encuentra que un firewall está impidiendo su conexión SSH, puede incluir su IP en la lista blanca con fail2ban. De lo contrario, el servicio bloqueará todos los intentos futuros de forma continua. Para acceder al archivo de configuración de fail2ban, ingrese el siguiente comando:

sudo nano /etc/fail2ban/jail.conf

Edite el archivo descomentando la línea que contiene "ignoreip =" agregue la IP o el rango de IP que desea incluir en la lista blanca.

Fail2ban ahora hará una excepción y no reportará comportamientos sospechosos para la IP en cuestión.

Compruebe el archivo sshd_config

Si continúa experimentando el error 'ssh_exchange_identification:read:Connection reset by peer', examine la entrada del registro de autenticación. De forma predeterminada, el demonio SSH envía información de registro a los registros del sistema. Acceda a /var/log/auth.log archivo después de su intento fallido de iniciar sesión. Para revisar las últimas entradas de registro, escriba:

tail -f /var/log/auth.log

El resultado presenta los resultados de sus intentos de autenticación, información sobre su cuenta de usuario, clave de autenticación o contraseña.

El registro le brinda información que puede ayudarlo a encontrar posibles problemas en el archivo de configuración de sshd, sshd_config. Cualquier cambio realizado en el archivo puede afectar los términos bajo los cuales se establece una conexión ssh y hacer que el servidor remoto trate al cliente como incompatible. Para acceder a sshd_config tipo de archivo:

sudo nano /etc/ssh/sshd_config

El archivo de configuración sshd le permite cambiar la configuración básica, como el puerto TCP predeterminado o los pares de claves SSH para la autenticación, así como funciones más avanzadas, como el reenvío de puertos.

Por ejemplo, MaxStartups La variable define cuántas conexiones acepta un sistema en un período predefinido. Si tiene un sistema que realiza una gran cantidad de conexiones en un corto período de tiempo, puede ser necesario aumentar los valores predeterminados para esta variable. De lo contrario, el sistema remoto podría rechazar intentos de conexiones ssh adicionales.

Cada vez que edite el sshd_config archivo, reinicie el servicio sshd para que los cambios surtan efecto:

service sshd restart

Edite solo las variables con las que esté familiarizado. Un servidor puede volverse inaccesible como resultado de un archivo de configuración defectuoso.


Linux
  1. Cómo solucionar el error – ModSecurity:acceso denegado con el código 44 [Apache]

  2. ¿Error en el archivo Sudoers? Así es como puedes arreglarlo.

  3. Cómo editar su archivo de hosts en Windows 10

  4. Arreglar ::Conexión de error SSH de Linux rechazada

  5. Cómo reparar el error de conexión rechazada de wget cuando estoy detrás de un proxy

Cómo editar archivos de hosts en Linux, Windows o Mac

Cómo arreglar el error del servidor interno 500 en WordPress

Cómo solucionarlo:el usuario no está en el error del archivo sudoers

Cómo leer un archivo línea por línea en Bash

Cómo corregir el error de conversión con Calibre

Cómo arreglar un error de conexión a la base de datos