Eu estabeleci um túnel ssh reverso em uma rede restrita a um aws
servidor, ou seja, para acessá-lo, eu ssh no aws
servidor e de lá eu tenho acesso à máquina na rede restrita em alguma porta personalizada.
Nesta rede restrita, existem dispositivos que podem ser configurados através de um navegador web.
Eu acredito que eu poderia fazer algo como ssh -R 8080:deviceIP:80 user@aws
encaminhá-lo para a aws
máquina, mas ainda não consigo acessá-lo (exceto através do X remoto, que é terrivelmente lento). Como posso canalizar deviceIP:80
para o meu navegador em casa via aws
?
Eu tentei o comando ssh acima e direcionei o navegador no meu computador doméstico, aws:8080
mas isso não carregou nenhuma página ...
Os túneis SSH são úteis para cruzar redes inseguras, fornecendo criptografia de ponta a ponta ao conectar dois terminais que se conectam a redes distintas.
Até onde eu posso dizer (graças aos comentários), o que você tem é:
Um host local-A: seu
localhost
, em sua rede local (provavelmente atrás de firewall/NAT)Um host-B acessÃvel publicamente: o
aws
servidorUm host-C não acessÃvel publicamente: na rede remota restrita (provavelmente atrás de firewall/NAT)
Um host-D não acessÃvel publicamente: aquele que você se refere como
deviceIP
, que escuta na porta80
e está na rede remota restritaSe você deseja conectar seu host A ao host D, deixando seu navegador alcançá-lo na porta
80
, você precisa:Um túnel do host-A ao host-B, que:
Permite que o host-A escute na porta
8080
Envia o tráfego dessa porta através do túnel
No host-B (
aws
), redireciona o tráfego vindo do túnel para a porta local (ou seja, no host-B)15872
(peguei de seus comentários; você pode escolher qualquer porta disponÃvel; apenas certifique-se de usar a mesma em todas comandos)Um túnel do host-C para o host-B, que:
Permite que o host-B escute na porta
15872
Envia o tráfego dessa porta através do túnel
No host-C (seu servidor Linux), redireciona esse tráfego para a porta
80
no host-DDessa forma, as solicitações feitas ao host-A na porta
8080
serão encapsuladas no host-B, redirecionadas para a porta15872
no mesmo host-B, encapsuladas no host-C e redirecionadas no host-C para a porta80
do host-D.Você não redireciona um servidor da web para o seu navegador - você redirecionaria as solicitações do seu navegador para o servidor da web. É um proxy direto, não um reverso que você precisa.
Isso criará um soquete de escuta na porta 8080 do cliente e encaminhará o encaminhamento pelo
ssh
túnel para adeviceIP
porta 80: