Problema: queremos acessar uma máquina por SSH, mas a máquina "alvo" está atrás de um roteador que faz NAT e não é viável reconfigurar o roteador para redirecionar uma porta, ou a máquina está por trás de um firewall que não permite conexões de entrada.
Solução: o SSH tem uma feature chamada remote forwarding. Se você executa o comando:
ssh -R porta_remota:endereço_local:porta_local usuário@máquina_remota
Isso serve para encaminhar qualquer porta da máquina remota para a máquina local, mas em particular serve para encaminhar uma porta qualquer da máquina remota para a porta 22 (ssh) da máquina local. Na máquina que queremos acessar por SSH, executamos:
ssh -R 9000:127.0.0.1:22 usuário@máquina_a_partir_da_qual_queremos_fazer_o_acesso
Na máquina de onde queremos fazer o acesso, executamos:
ssh -p 9000 127.0.0.1
E pronto! Quando acessarmos a porta 9000 da máquina de origem, o SSH encaminhará a conexão para a porta 22 da máquina alvo, onde o servidor SSH da máquina alvo atenderá a conexão.
[* É possível ouvir em outras interfaces, ao invés de apenas a interface loopback. Basta usar -R bind_address:porta_remota:endereço_local:porta_local, especificando em que endereços se quer ouvir através do bind_address. Um bind_address vazio (i.e., :porta_remota:endereço_local:porta_local (note o : inicial)) ouve em todas as interfaces.]
Copyright © 2010-2023 Vítor De Araújo
O conteúdo deste blog, a menos que de outra forma especificado, pode ser utilizado segundo os termos da licença Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International.
Powered by Blognir.