problemas ao configurar o ssh remoto

7

Eu tenho um desktop Ubuntu em casa e um laptop mac. Eu estou tentando configurar isso para que eu possa ssh em minha máquina Ubuntu a partir de fora da minha rede local.

Aqui está o que eu fiz até agora:

(1) Eu habilitei o ssh na porta 22 na minha máquina Ubuntu. O arquivo / etc / ssh / sshd_config diz que está escutando na porta 22.

(2) Se eu olhar para o status do meu firewall ( ufw status ), ele diz:

Status: active

To                         Action      From
--                         ------      ----
22                         ALLOW       Anywhere                  
22 (v6)                    ALLOW       Anywhere (v6)             

(3) No meu roteador Netgear C3700-100NAS, eu reservei o endereço IP para a minha máquina Ubuntu para que ele não mude.

(4) Configurei o encaminhamento de porta, com o tipo de serviço TCP / UDP, portas externa e interna configuradas para 22 e apontando para o endereço IP interno.

(5) Encontrei meu endereço IP público usando o link

Eu posso ssh com sucesso na minha máquina Ubuntu a partir de casa, na rede local, usando o endereço IP local.

Mas o ssh remoto é desativado. Eu também tentei um testador de encaminhamento de porta on-line ( link ), e quando eu aponto para o meu endereço IP público e porta 22, ele me diz que a porta está fechada.

Quando eu tento remotamente o ssh, recebo o seguinte:

~ $ ssh -vvv [email protected]
OpenSSH_7.4p1, LibreSSL 2.5.0
debug1: Reading configuration data /etc/ssh/ssh_config
debug2: resolving "xx.xxx.xxx.xx" port 22
debug2: ssh_connect_direct: needpriv 0
debug1: Connecting to xx.xxx.xxx.xx [xx.xxx.xxx.xx] port 22.
debug1: connect to address xx.xxx.xxx.xx port 22: Operation timed out
ssh: connect to host xx.xxx.xxx.xx port 22: Operation timed out

ATUALIZAÇÕES

Seguindo alguns conselhos listados abaixo, fiz algumas alterações. Alterei o encaminhamento de porta para que agora ele use a porta 8022 como porta externa, mas ainda a porta 22 como a porta interna. Eu também liguei uma opção nas configurações do meu roteador que responde a pings.

Agora, se eu fizer ping no meu IP público, ele responderá. No entanto, se eu testar se a porta 8022 está ou não aberta por meio do site de assinatura do usuário listado acima, ela ainda diz que está fechada.

Se eu tentar SSH:

> ssh -vvv [email protected] -p 8022
OpenSSH_7.4p1, LibreSSL 2.5.0
debug1: Reading configuration data /etc/ssh/ssh_config
debug2: resolving "xx.xxx.xxx.xx" port 8022
debug2: ssh_connect_direct: needpriv 0
debug1: Connecting to xx.xxx.xxx.xx [xx.xxx.xxx.xx] port 8022.
debug1: connect to address xx.xxx.xxx.xx port 8022: Operation timed out
ssh: connect to host xx.xxx.xxx.xx port 8022: Operation timed out

Eu também liguei para o meu ISP e, embora fosse uma conversa confusa, não parecia que eles estavam bloqueando as portas que eu estava tentando usar ...

Seguindo uma sugestão abaixo, eu corri sudo nmap --packet-trace --traceroute --reason xx.xxx.xxx.xx . Aqui está um subconjunto da saída. A porta 8022 não está listada, mas imagino que seja:

Host is up, received reset ttl 253 (0.0028s latency).
Not shown: 996 filtered ports
Reason: 996 no-responses
PORT     STATE  SERVICE      REASON
135/tcp  closed msrpc        reset ttl 253
139/tcp  closed netbios-ssn  reset ttl 253
445/tcp  closed microsoft-ds reset ttl 253
1025/tcp closed NFS-or-IIS   reset ttl 253

Não tenho certeza de onde está o problema ... a máquina do ubuntu? o roteador? Alguma idéia de como descobrir isso?

Obrigado!

    
por Pascal 20.09.2017 / 20:03

4 respostas

1

Eu tive um problema parecido alguns dias atrás. Seu modem ou roteador pode não estar configurado como uma ponte. Depende do ISP. No modo normal, ele bloqueará todas as conexões de entrada, mas comutá-lo no modo bridge fornecerá todo o acesso. Eu tive que ligar para o meu ISP para mudar isso, então eu teria o endereço IP público (não exatamente fixo por muito tempo, mas isso é o suficiente para mim) e meu roteador agora funciona como uma ponte para todas as conexões.

É tudo sobre o ISP são a falta de endereços IP e esconder usuários ao lado de algumas outras coisas de roteamento. Você precisa realmente ter um endereço IP público.

    
por 20.09.2017 / 20:08
0

(3) On my Netgear C3700-100NAS router, I reserved the ip address to my ubuntu machine so that it won't change.

(4) I set up port forwarding, with service type TCP/UDP, external and internal ports set to 22, and it points to my internal IP address.

A partir de sua descrição, parece que o seu roteador não escuta a porta 22.

Eu testaria algumas coisas

  1. É possível fazer ping para o seu endereço IP público? Se não, você pode ativar a escuta ping / ICMP no roteador?
  2. Teste se funciona, quando você ouve em seu roteador na porta 8022 e encaminha para a porta 22. No Linux, usuários não privilegiados não têm permissão para usar a porta 1 a 1024, então talvez algo semelhante.
  3. eu ainda testaria, se a funcionasse com a porta 80 ou 8080 e http. Talvez o roteador não permita o SSH por algum motivo.
por 20.09.2017 / 22:54
0

Eu olharia primeiro se o problema estivesse em algum dispositivo de rede do seu ISP, depois no seu roteador e, em seguida, no computador.

Você poderia tentar mais uma vez e mover a porta de 8022 para 443?

Às vezes, alguns ISPs podem ter filtragem de portas muito restritiva. Mas o 443 geralmente é mantido sem filtro. Também portas maiores que 10000 podem ter melhores chances, mas eu vejo no seu nmap que você pode chegar a 445 ou mais: você fez o nmap de fora da sua rede local? A melhor prova seria se você pudesse lançar o nmap de fora da sua rede doméstica para o seu ip público.

Kr,
   Cisco

    
por 28.09.2017 / 15:06
0

Eu sugiro verificar as tabelas NAT no seu roteador. As tabelas NAT devem permitir que seu roteador ouça qualquer pedido nessa porta e encaminhe a solicitação para a porta designada na máquina de destino (elas podem ser a mesma porta, se desejado). Portas entre 1024 e 49151 estão disponíveis para uso do usuário. Se estiver usando uma porta não padrão, use para usar o sinalizador -p em seu comando ssh.

    
por 22.11.2017 / 23:32