¿Qué causa el mensaje "Conexión rechazada"?

¿Qué causa el mensaje "Conexión rechazada"?

Esto es unPregunta canónicaacerca deConexión denegada

Vemos muchas preguntas en el sentido

Cuando intento conectarme a un sistema recibo un mensaje

conexión denegada

Por qué es esto ?

Respuesta1

Nota: Este mensaje es un síntoma del problema que está intentando resolver. Comprender la causa del mensaje lo llevará en última instancia a resolver su problema.

El mensaje "Conexión rechazada" tiene dos causas principales:

  1. No hay nada escuchando en la IP: Puerto al que estás intentando conectarte.
  2. El puerto está bloqueado por un firewall.

Ningún proceso está escuchando.

Este es, con diferencia, el motivo más común del mensaje. Primero asegúrese de que está intentando conectarse al sistema correcto. Si desea determinar si este es el problema, en el sistema remoto ejecutenetstatoss1 , por ejemplo, si espera que un proceso escuche en el puerto 22222

sudo netstat -tnlp | grep :22222

o

ss -tnlp | grep :22222

Para OSX un comando adecuado es

sudo netstat -tnlp tcp | grep '\.80 '

Si no hay nada escuchando, lo anterior no producirá ningún resultado. Si ve algún resultado, confirme que es lo que espera y luego consulte la sección de firewall a continuación.

Si no tiene acceso al sistema remoto y desea confirmar el problema antes de informarlo a los administradores pertinentes, puede utilizar tcpdump (wireshark o similar).

Cuando se intenta una conexión a un puerto IP:donde no hay nada escuchando, la respuesta del sistema remoto al paquete SYN inicial es un paquete con los indicadores RST,ACK configurados. Esto cierra la conexión y provoca el mensaje Conexión rechazada, por ejemplo

$ sudo tcpdump -n host 192.0.2.1 y puerto 22222
tcpdump: salida detallada suprimida, use -v o -vv para
escuchar la decodificación completa del protocolo en enp14s0, tipo de enlace EN10MB (Ethernet), tamaño de captura 262144 bytes

12:31:27.013976 IP 192.0.2.2.34390 > 192.0.2.1.22222: Banderas[S], seq 1207858804, win 29200, opciones [mss 1460,sackOK,TS val 15306344 ecr 0,nop,wscale 7], longitud 0

12:31:27.020162 IP 192.0.2.1.22222 > 192.0.2.2.34390: Banderas[R.], secuencia 0, reconocimiento 1207858805, ganancia 0, longitud 0

Tenga en cuenta que tcpdump utiliza un.arepresentar el ACKbandera.

El puerto está bloqueado por un firewall

Si el puerto está bloqueado por un firewall y el firewall se ha configurado para responder con icmp-port-unreachableesto, también generará un mensaje de conexión rechazada. Nuevamente puedes ver esto con tcpdump (o similar)

$ sudo tcpdump -n icmp
tcpdump: salida detallada suprimida, use -v o -vv para

escuchar la decodificación completa del protocolo en enp14s0, tipo de enlace EN10MB (Ethernet), tamaño de captura 262144 bytes 13:03:24.149897 IP 192.0.2.1 > 192.0. 2.2: ICMP 192.0.2.1 puerto tcp 22222 inalcanzable, longitud 68

Tenga en cuenta que esto también nos indica dónde está el firewall de bloqueo.


Ahora que ya sabe qué está causando el mensaje Conexión rechazada, debe tomar las medidas adecuadas, por ejemplo, ponerse en contacto con el administrador del firewall o investigar el motivo por el que el proceso no escucha.

1 Es probable que haya otras herramientas disponibles.

Respuesta2

Para mí, en Debian 6 squeeze fue tan simple comocomprobando el servicio SSH:

sudo service ssh status

Y encontrar que nada existía (con el mensaje ssh: unrecognized service) simplementeinstalando el servicio:

sudo apt-get install openssh-server

Esto también funciona si no tienes una conexión SFTP, ya que SFTP es un subconjunto de SSH (mientras que FTPS es un subconjunto de FTP).

Respuesta3

¿Qué causa el mensaje "Conexión rechazada"?

  • IncorrectoDirección IP o número de puerto especificado.
  • La aplicación del servidor esno corraspara escuchar en ese puerto.
  • La aplicación del servidor se está ejecutando peroNo escucharen el puerto especificado.
  • Remoto localcortafuegosbloqueando la conexión.
  • Servidor sobrecargadoo agotamiento de los recursos.

información relacionada