É 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.100Obs.: 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