Eu estou em uma rede que tem apenas um servidor http para acessar a internet. Quero me conectar ao meu servidor via ssh.
Se eu tentar estabelecer uma conexão ssh de qualquer maneira:
ssh myserver -p 1234
Eu pego um cursor piscando. O log no meu servidor não mostra uma tentativa de conexão.
Então minha primeira idéia foi usar o saca-rolhas para tunelar o tráfego ssh através do http. Mas se eu configurar o saca-rolhas como meu ProxyCommand e tentar conectá-lo, ele também falhará:
ssh myserver -p 1234
Proxy could not open connnection to myserver: Tunnel or SSL Forbidden
ssh_exchange_identification: Connection closed by remote host
Os registros do servidor também não mostraram nenhuma tentativa de conexão. Então eu pensei que talvez o proxy bloqueia todo o tráfego que não passa pela porta 80 ou 443. Eu mudei a porta ssh do meu servidor para 443. Eu ainda não conseguia me conectar, mas uma das mensagens de erro desapareceu:
ssh myserver -p 443
ssh_exchange_identification: Connection closed by remote host
Os registros do servidor, mais uma vez, não mostraram uma tentativa de conexão. A última coisa que tentei foi usar saca-rolhas manualmente:
corkscrew myproxy 8080 myserver 443
SSH-2.0-OpenSSH_6.7p1 Raspbian-5+deb8u3
Isso me pega a string de versão dos servidores ssh. Mas depois disso nada mais acontece. O cliente ssh parece apenas travar. Os logs do servidor, enquanto isso, mostram esta mensagem:
Did not receive identification string from 1.2.3.4
Assim, parece ser capaz de estabelecer uma conexão. Eu suspeito que o cliente é capaz de se conectar inicialmente ao servidor e o servidor responde com sua string de versão. Mas quando o cliente tenta responder, ele é interceptado pelo proxy.
Mas neste momento estou sem idéias o que mais eu poderia tentar.