Como depurar o encaminhamento de porta SSH

7

Esta é uma extensão da porta ssh encaminhar para acessar minha máquina doméstica de qualquer lugar

Eu tentei as coisas mencionadas lá, mas não consigo ssh na minha máquina.

Configurações do roteador Netgear para encaminhamento de porta:

Start Port: 22
End Port: 22
Server IP Address: IP address of by FreeBSD box

/etc/ssh/sshd_conf da minha caixa do FreeBSD:

PasswordAuthentication yes
AllowUsers root
X11Forwarding yes
AllowTcpForwarding yes

Como estou tentando se conectar:

Inscrevi-me para dyndns.com e obtive um URL que mapeia para o meu endereço IP externo.

De outra máquina na minha rede doméstica, eu faço: %código% Qual é o tempo limite.

Por outro lado, eu posso pingar ssh -l root my_dyndns_ip com sucesso.

Depuração :

Como posso corrigir isso para que eu possa my_dyndns_url de qualquer lugar para ssh ?

Eu tentei procurar nos logs do meu roteador Netgear, mas na tentativa de ssh com falha, nenhum login gerado no roteador.

Também procurei em my_dnydns_url , mas não consegui encontrar nada.

Editar: 0 Executando o ssh no modo verbose (como sugerido por @jasonwryan):

Eu estou percebendo uma coisa estranha: quando eu faço o ssh no url do dyndns.com, ele está tentando se conectar a outro endereço IP do que o que eu recebo do whatismyip.com. Isso não está errado?

Editar: 1 Problema com dyndns está agora resolvido.

Agora, quando tento ssh, o tempo limite é curto e recebo um erro: Conexão esgotada

Edit: 2 O iptables ou NAT tem algo a ver com isso?

Edit: 3 Eu iniciei /var/log/messages com ssh para capturar mensagens de depuração.

Quando eu ssh para a caixa freebsd de qualquer outra máquina em wlan, ele funciona bem e eu consigo ver os logs.

Mas quando eu ssh para ip externo (que deveria encaminhar isso para minha caixa freebsd), eu nem vejo nenhum log - isso significa que o pedido não está nem chegando na caixa freebsd. E isso acaba.

    
por hari 04.09.2011 / 05:24

4 respostas

6

Estou a pensar que o problema não está no encaminhamento de portas, mas outra opção na configuração NAT no router.

Primeiro, assegure-se de que, se você usar o seu IP da LAN, você pode obter com êxito o SSH de outra máquina na rede. Isso garante que o SSH funcione.

Segundo, teste de outra máquina fora da rede usando o IP público. Isso garante que o encaminhamento de porta funcione.

Terceiro, teste da mesma máquina fora da rede e use o URL do DynDNS. Isso garante que o DynDNS esteja funcionando corretamente.

Se tudo isso for bem sucedido, então nada está errado com a sua configuração (o que eu suponho que esteja correto) e você está apenas acessando o IP público (diretamente ou através do DynDNS) de dentro da rede . Isso significa que seu roteador precisa ter o reflexo NAT ativado (se possível) para rotear solicitações internas como se fossem solicitações externas para o IP público.

    
por 04.09.2011 / 18:34
1

O seu servidor sshd está escutando na porta 22, tente adicionar:

Port 22

para sua configuração.

Se isso não funcionar, tente encaminhar uma porta acima de 1024 (alguns ISPs não permitem tráfego de assinantes não comerciais em portas abaixo de 1024). Certifique-se também de que, ao fazer isso, você altere a linha no conf que acabei de contar para refletir o mesmo valor.

    
por 04.09.2011 / 06:50
0

tente alterar a porta ssh para 443 - se você conseguir se conectar a essa porta, haverá um proxy entre o cliente e seu computador pessoal

registre todos os pacotes descartados e encaminhados no seu firewall, ele pode permitir que você encontre regras de encaminhamento incorretas

tente verificar seu IP externo com o nmap (ou outra ferramenta) (portas < 1024) - o registro do firewall deve mostrar as conexões descartadas e no lado do cliente você deve ver as portas abertas

faça o traceroute para seu PC em casa a partir do cliente - há algum host inesperado entre eles, as portas de encaminhamento desses hosts estão corretas?

    
por 12.09.2011 / 15:23
0

Experimente o tcptraceroute para depurar se puder ir primeiro para a porta remota. Se alguma máquina estiver bloqueando a porta, você poderá ver na saída. Tente usar o netstat -atun para ver as portas / conexões abertas em ambas as máquinas.

    
por 17.09.2011 / 21:49