(reverse-) conexão ssh “time out during banner exchange”

2

Eu configurei algumas 100 caixas embutidas para entrar em contato com a HQ abrindo túneis ssh reversos, cada um sob uma nova porta. Isso funciona principalmente, mas hoje encontrei um problema ao usar o túnel por meio de uma conexão GPRS de baixa largura de banda (ou baixa qualidade?).

A máquina remota que abre o túnel está conectada ao inter através de um (tão desconhecido) roteador 3G que provavelmente tem apenas um GPRS, uma conexão EDGE na melhor das hipóteses.

Conectado à minha máquina, posso ver a entrada ssh da conexão na porta 1234:

me@machine:~$ sudo nmap -sS -p 1234 --open localhost

Starting Nmap 5.21 ( http://nmap.org ) at 2014-11-27 15:27 CET
Nmap scan report for localhost (127.0.0.1)
Host is up (0.000070s latency).
Hostname localhost resolves to 2 IPs. Only scanned 127.0.0.1
PORT     STATE SERVICE
1234/tcp open  unknown

Nmap done: 1 IP address (1 host up) scanned in 0.09 seconds
me@machine:~$

Agora, tentando abrir a conexão ssh, recebo um erro Connection timed out :

me@machine:~$ ssh -vp 1234 localhost
OpenSSH_5.9p1 Debian-5ubuntu1.4, OpenSSL 1.0.1 14 Mar 2012
debug1: Reading configuration data /etc/ssh/ssh_config
debug1: /etc/ssh/ssh_config line 19: Applying options for *
debug1: Connecting to localhost [::1] port 1234.
debug1: fd 3 clearing O_NONBLOCK
debug1: Connection established.
debug1: identity file /home/cts/.ssh/id_rsa type 1
debug1: Checking blacklist file /usr/share/ssh/blacklist.RSA-4096
debug1: Checking blacklist file /etc/ssh/blacklist.RSA-4096
debug1: identity file /home/cts/.ssh/id_rsa-cert type -1
debug1: identity file /home/cts/.ssh/id_dsa type -1
debug1: identity file /home/cts/.ssh/id_dsa-cert type -1
debug1: identity file /home/cts/.ssh/id_ecdsa type -1
debug1: identity file /home/cts/.ssh/id_ecdsa-cert type -1
Connection timed out during banner exchange
me@machine:~$

Outras portas funcionam bem, assim como essa quando foi (verificada) conectada a uma rede 3G.

Eu tentei algo que às vezes ajuda ao fazer isso através de conexões via satélite - ssh -o "ConnectTimeout 99" -o "ServerAliveCountMax 5" -vp 1234 localhost , mas isso também não ajudou.

Suponho que isso tenha algo a ver com o
a) o provedor sem fio filtrando algo em sua rede GPRS, ele não faz em sua rede 3G ou
b) a latência ruim da conexão GPRS para o meu túnel.

Alguém tem uma idéia de como lidar com essa situação ou entender melhor o que está acontecendo (ou, melhor dizendo, não está acontecendo) aqui? Adicionar mais v s ao comando não mostra mais nenhuma saída de depuração, btw.

    
por Christian 27.11.2014 / 15:48

2 respostas

0

A mensagem de erro A conexão expirou durante a troca de banner pode indicar problemas de rede. Se você vir que um soquete é estabelecido usando o netstat no servidor e no cliente, pode haver um firewall ou um dispositivo de inspeção de pacotes que esteja impedindo que a conexão SSH seja estabelecida. Vimos esse problema em um sistema que estava por trás de uma rede protegida e as regras de firewall não foram configuradas corretamente. O firewall também estava descartando qualquer conexão que tentasse iniciar uma solicitação HTTP / 1.1, que foi confirmada usando o netcat para simular um servidor web e conecte-se a ele usando o netcat. Quando alteramos a resposta para o HTTP / 1.2, a resposta foi dada, indicando que algo na camada de rede estava inspecionando solicitações e aplicando regras de filtragem contra elas.

Outros problemas de rede de baixo nível, como problemas de MTU / Jumbo frames ou alta perda de pacotes também podem causar o problema.

    
por 10.11.2017 / 04:40
-3

Se o seu firewall (por exemplo, em um host de salto) estiver usando knockd , simplesmente tente aumentar Cmd_Timeout : link

    
por 15.08.2018 / 16:17