Esta é uma pergunta canônica sobre conexão recusada
Vemos muitas perguntas para o efeito
Quando tento me conectar a um sistema, recebo uma mensagem
Ligação recusada
Por que é isso ?
Esta é uma pergunta canônica sobre conexão recusada
Vemos muitas perguntas para o efeito
Quando tento me conectar a um sistema, recebo uma mensagem
Ligação recusada
Por que é isso ?
A mensagem 'Connection Refused' tem duas causas principais:
Nenhum processo está ouvindo.
Este é de longe o motivo mais comum para a mensagem. Primeiro, verifique se você está tentando se conectar ao sistema correto. Se você for determinar se este é o problema, no sistema remoto, execute netstat ou ss 1 , por exemplo, se você espera que um processo esteja escutando na porta 22222
ou
Para OSX, um comando adequado é
Se nada estiver ouvindo, o acima não produzirá saída. Se você vir alguma saída, confirme se é o que você espera e veja a seção de firewall abaixo.
Se você não tiver acesso ao sistema remoto e quiser confirmar o problema antes de reportá-lo aos administradores relevantes, você pode usar o tcpdump (wireshark ou similar).
Quando uma conexão é tentada para um IP:porta 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 faz com que a mensagem Connection Refused, por exemplo
Observe que o tcpdump usa um arquivo . para representar o sinalizador ACK .
A porta está bloqueada por um firewall
Se a porta estiver bloqueada por um firewall e o firewall tiver sido configurado para responder com
icmp-port-unreachable
isso, também causará uma mensagem de conexão recusada. Novamente você pode ver isso com tcpdump (ou similar)Observe que isso também nos diz onde está o firewall de bloqueio.
Portanto, 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 ouvir.
1 Outras ferramentas provavelmente estão disponíveis.
Para mim no squeeze Debian 6 foi tão simples quanto verificar o serviço SSH :
E não encontrando nada existia (com a mensagem
ssh: unrecognized service
) apenas instalando o serviço :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).