Normalmente um túnel SSH SOCKS dá a um laptop a saída de rede do servidor. O encaminhamento dinâmico inverso inverte essa disposição: um programa na máquina remota pode usar a rede disponível ao seu cliente SSH.

Em um cliente OpenSSH compatível com encaminhamento remoto sem destino:

ssh -N -R 127.0.0.1:1080 [email protected]

O ouvinte SOCKS está em remote.example.net, vinculado ao seu endereço loopback. Os programas ali usam 127.0.0.1:1080. As conexões de destino voltam pelo SSH e são abertas do lado em que seu cliente roda.

Leia a direção antes do IP

A documentação de ‎-R torna significativo o destino omitido. Uma especificação com port:host:hostport é, em vez disso, um encaminhamento fixo. Não presuma que um cliente antigo suporte a forma dinâmica curta.

O IP de saída é o que a rede do lado do cliente usa para essas conexões. Um laptop atrás de um roteador doméstico pode sair pelo endereço público traduzido do roteador. Não é automaticamente o IP do servidor SSH, nem um endereço atribuído diretamente ao laptop.

Mantenha o ouvinte remoto restrito. Uma vinculação curinga pode permitir que outras máquinas usem a rede do lado do cliente como saída, conforme a política do servidor. Até o loopback pode ficar disponível para outros processos elegíveis no host remoto; não é um segredo por processo.

Para um conjunto restrito de destinos, revise PermitRemoteOpen e a política de encaminhamento do servidor. A rota também depende de seu cliente permanecer online. Quando essa conexão fecha, o caminho do proxy remoto desaparece. O encaminhamento inverso muda de onde as conexões se originam; não fornece um proxy autônomo independente da sessão SSH.

Artigos relacionados