O que causa a mensagem 'Conexão recusada'?

O que causa a mensagem 'Conexão recusada'?

Isto é umPergunta CanônicasobreLigação recusada

Vemos muitas perguntas sobre o efeito

Quando tento me conectar a um sistema, recebo uma mensagem

Ligação recusada

Por que é isso ?

Responder1

Observação: esta mensagem é um sintoma do problema que você está tentando resolver. Compreender a causa da mensagem acabará por levá-lo a resolver o seu problema.

A mensagem 'Conexão recusada' tem duas causas principais:

  1. Nada está escutando no IP:Port ao qual você está tentando se conectar.
  2. A porta está bloqueada por um firewall.

Nenhum processo está ouvindo.

Este é de longe o motivo mais comum para a mensagem. Primeiro, certifique-se de que você está tentando se conectar ao sistema correto. Se você quiser determinar se este é o problema, no sistema remoto executenetstatouss1 , por exemplo, se você espera que um processo esteja escutando na porta 22222

sudo netstat -tnlp | grep :22222

ou

ss -tnlp | grep :22222

Para OSX, um comando adequado é

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

Se nada estiver ouvindo, o procedimento acima não produzirá saída. Se você vir alguma saída, confirme se é o que você espera e consulte a seção de firewall abaixo.

Se você não tem acesso ao sistema remoto e deseja confirmar o problema antes de relatá-lo aos administradores relevantes, você pode usar o tcpdump (wireshark ou similar).

Quando uma conexão é tentada a uma porta IP onde nada está escutando, a resposta do sistema remoto ao pacote SYN inicial é um pacote com os sinalizadores RST, ACK definidos. Isso fecha a conexão e causa a mensagem Conexão recusada, por exemplo

$ sudo tcpdump -n host 192.0.2.1 e porta 22222
tcpdump: saída detalhada suprimida, use -v ou -vv para
escuta de decodificação completa do protocolo em enp14s0, tipo de link EN10MB (Ethernet), tamanho de captura 262144 bytes

12:31:27.013976 IP 192.0.2.2.34390 > 192.0.2.1.22222: Sinalizadores[S], seq 1207858804, win 29200, opções [mss 1460,sackOK,TS val 15306344 ecr 0,nop,wscale 7], comprimento 0

12:31:27.020162 IP 192.0.2.1.22222 > 192.0.2.2.34390: Sinalizadores[R.], sequência 0, ack 1207858805, vitória 0, comprimento 0

Observe que o tcpdump usa um.pararepresenta o ACKbandeira.

A porta está bloqueada por um firewall

Se a porta estiver bloqueada por um firewall e o firewall tiver sido configurado para responder, icmp-port-unreachableisso também causará uma mensagem de conexão recusada. Novamente você pode ver isso com tcpdump (ou similar)

$ sudo tcpdump -n icmp
tcpdump: saída detalhada suprimida, use -v ou -vv para

escuta de decodificação completa do protocolo em enp14s0, tipo de link EN10MB (Ethernet), tamanho de captura 262144 bytes 13:03:24.149897 IP 192.0.2.1 > 192.0. 2.2: ICMP 192.0.2.1 porta tcp 22222 inacessível, comprimento 68

Observe que isso também nos informa onde está o firewall de bloqueio.


Agora que você sabe o que está causando a mensagem Conexão recusada, você deve tomar as medidas apropriadas, por exemplo, entrar em contato com o administrador do firewall ou investigar o motivo do processo não atender.

1 Outras ferramentas provavelmente estão disponíveis.

Responder2

Para mim no Debian 6 squeeze foi tão simples quantoverificando o serviço SSH:

sudo service ssh status

E não descobrindo que nada existia (com a mensagem ssh: unrecognized service) apenasinstalando o serviço:

sudo apt-get install openssh-server

Isso também funciona se você não estiver obtendo uma conexão SFTP, pois SFTP é um subconjunto de SSH (enquanto FTPS é um subconjunto de FTP).

Responder3

O que causa a mensagem 'Conexão recusada'?

  • IncorretaEndereço IP ou número da porta especificado.
  • A aplicação do servidor énão está funcionandopara ouvir nessa porta.
  • O aplicativo do servidor está em execução, masnão ouvindona porta especificada.
  • Local/Remotofirewallbloqueando a conexão.
  • Servidor sobrecarregadoou esgotamento de recursos.

informação relacionada