Como configurar um “reverse tunel SSH” em Linux para utilizar com privoxy

O Reverse “SSH Tunneling” é uma técnica que permite aceder a sistemas que se encontram bloqueados, por exemplo com uma firewall.

Por vezes é necessário aceder a partir de um sistema sem acesso à internet aos repositórios da distribuição ou a outros recursos expostos na internet.

No nosso exemplo este acesso faz-se com o privoxy, sendo que a maquina que vai servir de proxy é um servidor debian.

Para instalar o privoxy deve executar-se o seguinte comando:

$ sudo apt-get install privoxy

Uma vez instalado deve fazer-se start ao serviço com o seguinte comando:

$ sudo systemctl start privoxy

Para configurar o serviço para arrancar durante o boot executa-se o seguinte:

$ sudo systemctl enable privoxy

As configurações por defeito são suficientes para o nosso objetivo, deverá ter-se em conta que este servidor que irá servir de proxy tem de ter acesso à internet.

Uma vez instalado e feito o arranque do privoxy procedemos à criação do reverse tunel, com recurso ao seguinte comando:

$ ssh -R 8118:localhost:8118 username@REMOTEIP

Neste momento o servidor remoto que não tinha acesso à internet já tem neste momento ligação ao nosso servidor privoxy.

Para concluirmos a operação devemos configurar o proxy no servidor remoto, para tal executam-se os seguintes comandos no servidor remoto:

# export http_proxy="http://localhost:8118"
# export https_proxy="https://localhost:8118"
# export ftp_proxy="ftp://localhost:8118"