Usando o SSH Forward para alcançar máquina em outra rede

É isso mesmo.. mais uma das funcionalidades chave do SSHD.

Sem o auxílio de um roteador ou de máscara de sub-rede, vamos exemplificar como fazer uso de apenas uma linha de comando para chegar na porta 80 de uma máquina em uma rede diferente da nossa. Desde que, é claro, conheçamos a rede onde estamos trabalhando e consigamos chegar por SSH até alguma máquina qualquer dessa rede diferente. Caso contrário é impossível.Para compreender uma das formas de se utilizar, vamos usar um cenário exemplo de três máquinas com um linux qualquer e sshd instalado:

A) Máquina ip address eth0 = 192.168.0.200
B) Máquina ip address eth0 = 192.168.0.100 / eth1 = 10.1.1.200
C) Máquina ip address eth0 = 10.1.1.100

Obs.: Tudo com netmask 255.255.255.0

Normalmente, sem roteamento, a máquina (A) não chegaria até a porta 80 da máquina (C) pelo navegador utilizando http://10.1.1.100:80 certo?
Mas com o auxílio do SSH forward, é possível chegar mesmo sem roteamento. Desde que eu consiga chegar por SSH até a máquina intermediária (B) lógico.

Mãos a obra:

Partindo da máquina (A):

[root@localhost ~]# ssh hudson@192.168.0.100 -NL 12345:10.1.1.100:80
hudson@192.168.0.100’s password:

O comando aparentemente fica parado aí após autenticação, porém, já abriu um socket escutando na porta 12345 local até 192.168.0.100 que então faz o forward para a porta 80 do 10.1.1.100:

[root@localhost ~]# netstat -na | grep 12345
tcp        0      0 127.0.0.1:12345             0.0.0.0:*                   LISTEN

Uma tradução para a linha de comando ssh feita na máquina (A) seria: “Faça um ssh com usuário hudson partindo de mim até 192.168.0.100 e binde a minha porta local 12345 para passar através de 192.168.0.100 e finalmente chegar em 10.1.1.100 na porta 80.

=)

Agora, para que a máquina (A) consiga alcançar a porta 80 da máquina (C), basta usar assim no navegador: http://localhost:12345 e você será ‘forwarded’ para a porta 80 de 10.1.1.100.

Sugiro que façam isso em casa (testes em laboratório rlz) visto que isso pode ser usado em outras portas, em outros serviços, etc..

Por: Hudson Murilo dos Santos

Referências: Robson Fernandez
man ssh

Leave a Comment

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *