Normalmente, isso significa que você encaminhou a porta para o endereço IP errado na LAN.
Por padrão, o Ubuntu não filtra as tentativas de conexão recebidas com um firewall. Portanto, a menos que você tenha alterado as configurações de firewall no Ubuntu, uma tentativa de abrir uma conexão com qualquer porta TCP, de 1 a 65535, irá:
Isso causa exatamente a situação que você descreveu. Portanto, você provavelmente pode corrigir isso, certificando-se de que a porta esteja sendo encaminhada para o endereço IP correto na LAN.
... então você precisará solucionar alguns problemas.
A porta especificada para o lado da LAN está correta? Ou seja, supondo que você não tenha alterado a configuração do servidor SSH, a porta 57757 no lado WAN está configurada para encaminhar para a porta 22 no servidor OpenSSH? (Você pode verificar isso novamente.)
Talvez haja algum problema com a porta específica que você escolheu (57757). Tente um diferente e veja se isso funciona melhor.
(Caso contrário, e você segue estas instruções, altere-o novamente ou substitua "57757" abaixo pelo novo número.)
Tente reiniciar o servidor OpenSSH. Isso pode ajudar se houver um problema de rede. Se isso não ajudar, tente reiniciar o roteador e o modem a cabo / DSL / ISDN também.
Se, por algum motivo, você não puder reiniciar os três dispositivos, recomendo reiniciar o que puder. Se você não pode reiniciar o serviço OpenSSH, pelo menos você pode reiniciar o serviço e (com maior probabilidade de corrigir isso) derrubar a interface e trazê-la novamente.
Para reiniciar o servidor OpenSSH:
sudo restart ssh
Para desativar a interface de rede, primeiro descubra em que interface está:
ifconfig
Normalmente, para uma máquina com uma única placa Ethernet e / ou uma única placa sem fio, a Ethernet é eth0
e a conexão sem fio wlan0
.
Se a conexão Ethernet com fio é o que você deseja desativar e reiniciar, execute:
sudo ifdown eth0
Então corra:
sudo ifup eth0
Como alternativa, você pode executar:
sudo ifconfig eth0 down
Seguido por:
sudo ifconfig eth0 up
Se a máquina estiver usando o NetworkManager para gerenciar a interface na qual o servidor OpenSSH está sendo executado, ainda recomendo tentar as maneiras acima, mas você também pode tentar desconectar e reconectar-se no NetworkManager.
Para uma conexão Ethernet, tente também desconectar o cabo e conectá-lo novamente. Para uma conexão sem fio, tente desligá-lo com a chave de hardware (se houver) e ligue-o novamente.
Algo estranho está acontecendo aqui e nada disso leva muito tempo - vale a pena ser minucioso antes de executar mais etapas de solução de problemas meticulosas.
Como você está tentando acessá-lo pelo lado da WAN? Se você estiver usando uma máquina na LAN para fazer isso (basta conectar-se da LAN ao WAN IP do seu roteador), isso é suportado apenas em alguns roteadores. Afinal, o trabalho de um roteador é rotear o tráfego entre os lados da WAN e da LAN, não para rotear o tráfego de um lado para o outro. O suporte para conectar-se às portas encaminhadas no IP da WAN de dentro da LAN é realmente a exceção e não a regra, embora muitos roteadores de casa / escritório possuam esse recurso.
Portanto, se você não estiver testando a porta para frente de um host no lado da WAN, faça isso. Suas opções para isso são:
Conecte-se do lado da WAN. Isso funciona se você tiver acesso a uma máquina lá, por exemplo, acesso SSH a uma máquina remota na escola, no trabalho, na casa de um amigo ou similar.
Conecte a máquina de teste entre o roteador e o que fornecer sua conexão com a Internet. Se você possui um modem a cabo / DSL / ISDN com uma porta Ethernet e seu roteador está conectado a isso, é possível conectar um switch ao modem e conectá-lo ao switch. Conecte um computador ao switch. Primeiro, veja se essa máquina apenas obtém acesso à Internet - atualmente, muitos ISPs fornecem dois ou mais endereços IP separados. Caso contrário , vá para a página de configuração do roteador e verifique sua máscara de sub-rede WAN IP e WAN e atribua estaticamente um endereço IP à máquina conectada ao switch que está dentro da mesma sub-rede.
Este método tem algumas desvantagens. É uma dor! Além disso, é teoricamente possível para um ISP configurar sua rede incorretamente para que a máquina de teste conectada ao switch possa acessar a Internet. (A menos que seja a intenção do seu ISP permitir que você se conecte com mais de um IP WAN ese você tiver escolhido um IP da WAN para a máquina de teste que seu ISP lhe atribuiu, o tráfego entre ele e um host WAN verdadeiro deve ser bloqueado / eliminado pelo ISP. Mas alguns provedores de serviços de Internet têm práticas estranhas, então quem sabe?) Se isso acontecer, provavelmente não causará problemas sérios a ninguém (e mesmo se ocorrer, você só o conectará por alguns minutos). No entanto, isso pode ser visto como uma tentativa de obter acesso adicional além dos limites da sua assinatura e, o que é mais importante, se outro usuário tiver o mesmo IP, ele poderá interferir na conexão. Portanto, se você quiser tentar esse método, não tente acessar a Internet a partir da máquina de teste, pare imediatamente se achar que a máquina pode acessar a Internet e não tente fazer isso se for proibido ou desaconselhado pelo seu ISP. (E não use isso se o lado WAN do seu roteador for uma LAN do escritório, sem consultar o administrador da rede primeiro. Esse não é um ISP e não há suposição de que os recursos sejam provisionados para impedir o acesso indesejado.)
Há uma variação dessa técnica que às vezes é mais apropriada. Seu roteador provavelmente obtém suas informações de conexão - endereço IP, máscara de sub-rede, o endereço IP do gateway (roteador) na WAN que ele usa quando não sabe para onde enviar algo e informações sobre os servidores DNS - do seu computador . ISP, via DHCP, através do modem a cabo / DSL / ISDN. É por isso que você precisa conectar o roteador ao modem para fornecer a configuração necessária para tornar significativos os resultados dos testes no lado da WAN. Mas o roteador normalmente lembrará essas informações, desde que estejam realmente conectadas a uma rede no lado da WAN. Assim, você pode conectar o roteador, modem e máquina de teste, mas rapidamente, eantes de fazer qualquer coisa com a máquina de teste, além de verificar se o switch a vê como conectada , desconecte o modem.
Use um serviço gratuito na Internet para testar suas portas. Como a inserção de uma máquina de teste entre a interface WAN do roteador e a Internet (acima) está altamente envolvida - e mostrará uma porta tão acessível mesmo que seja inacessível devido ao bloqueio pelo seu ISP (o que também é verdade na conexão com o WAN IP do roteador do lado da LAN) - geralmente é melhor usar um serviço de verificação de porta baseado na Web.
Existem muitos serviços de verificação de porta. (Alguns ostentam a frase "verifique seu firewall" com a idéia de que a maioria das pessoas está tentando bloquear, em vez de facilitar o acesso.) Essa é uma delas. Se você optar por usar esse, clique em Continuar , digite 57757 na caixa de texto e clique em Usar Sonda de Porta Personalizada Especificada . Para fins de execução de um servidor, você deseja que ele seja "aberto". "Fechado" significa que a porta está acessível, mas o servidor não está em execução (e, portanto, a tentativa de conexão foi rejeitada). "Discrição" significa que a porta estava inacessível - é como se nenhuma máquina estivesse localizada lá (ou como se a porta fosse encaminhada para onde não há máquina).
OK, então você determinou que realmente não é acessível pela Internet. Potencialmente, você pode digitalizá-lo (idealmente do lado da WAN) para obter detalhes, embora muitas vezes isso não forneça informações úteis.
Se você quiser fazer isso, no lado da WAN, você pode executar:
sudo nmap -sS -sV -p57757 -vv WAN-IP
Se a porta for mostrada como filtrada, isso confirma que os pacotes enviados para lá provavelmente não vão a lugar nenhum (ou são bloqueados / descartados ao longo do caminho).
Vale a pena verificar se o problema está surgindo porque a porta exposta à WAN é diferente da porta em que o servidor está realmente ouvindo. A porta de encaminhamento 55757 na WAN para a porta 22 na máquina da LAN deve dar certo, mas talvez em algum lugar (servidor, cliente) algo esteja assumindo que o número da porta é o mesmo da perspectiva do servidor e do cliente.
Presumivelmente, você não pode encaminhar a porta 22 através do roteador. Talvez o seu ISP bloqueie essa porta. Mas se você pode fazer isso, faça isso!
Caso contrário, você pode fazer o servidor OpenSSH realmente escutar na porta 57757.
Para fazer isso, faça backup do arquivo de configuração do servidor:
cd /etc/ssh
sudo cp sshd_config sshd_config.old
Depois edite-o:
gksu gedit sshd_config
Ou use um editor de texto do console se a máquina não tiver uma GUI:
sudo nano -w sshd_config
Perto da parte superior do arquivo, este bloco de texto aparece:
# What ports, IPs and protocols we listen for
Port 22
# Use these options to restrict which interfaces/protocols sshd will bind to
#ListenAddress ::
#ListenAddress 0.0.0.0
Protocol 2
# HostKeys for protocol version 2
HostKey /etc/ssh/ssh_host_rsa_key
HostKey /etc/ssh/ssh_host_dsa_key
HostKey /etc/ssh/ssh_host_ecdsa_key
#Privilege Separation is turned on for security
UsePrivilegeSeparation yes
Apenas mude a Port 22
linha no topo, para dizer em Port 57757
vez disso.
Você pode adicionar uma porta em vez de alterá-la. Eu recomendo testar com a configuração eficaz mais simples, no entanto.
Veja man sshd_config
para mais detalhes sobre a configuração do servidor OpenSSH.
Salve o arquivo, feche o editor de texto e reinicie o servidor SSH com:
sudo restart ssh
Agora mude a porta para frente no roteador para que a porta 57757 avance para a porta 57757 (não 22) no servidor OpenSSH e verifique se é acessível a partir da Internet.
Se ainda não estiver funcionando, verifique se o firewall do Ubuntu está realmente bloqueando o tráfego originado fora da LAN.
(Isso é improvável se você não tiver configurado dessa maneira, mas se todas as suas configurações estiverem corretas e nenhuma das etapas acima revelou nada sobre o problema, vale a pena conferir.)
Corre:
sudo iptables -L
Por padrão, no Ubuntu, a saída se parece com:
Chain INPUT (policy ACCEPT)
target prot opt source destination
Chain FORWARD (policy ACCEPT)
target prot opt source destination
Chain OUTPUT (policy ACCEPT)
target prot opt source destination
Essa é uma política permissiva simples, essencialmente equivalente a não executar um firewall. (De fato, se o módulo do firewall netfilter não fosse compilado no seu kernel, seu sistema se comportaria da mesma maneira que nas configurações acima, embora o iptables
comando, que consulta netfilter
as configurações, não funcione, é claro).
Se sua configuração não for assim, leia man iptables
para descobrir o que eles estão fazendo e / ou edite sua pergunta (ou, se você é uma pessoa diferente com um problema semelhante ao ler isso, poste uma nova pergunta) para incluir eles. Observe que, potencialmente, suas iptables
regras podem divulgar informações confidenciais sobre sua configuração. Na prática, esse geralmente não é o caso - com a possível exceção de regras sobre hosts específicos bloqueados ou se sua configuração é muito ruim / insegura - geralmente a utilidade dessas informações para um invasor, especialmente para uma máquina ligada uma LAN em casa / escritório atrás de um roteador NAT , é mínima.