Com o tunelamento SSH, você precisa de um cliente ssh em cada dispositivo que deseja usar seu proxy, e você precisaria de um servidor SSH no servidor proxy.
O protocolo SSH suporta o encaminhamento de porta para qualquer porta em uma sessão ssh, chamada de tunelamento ssh.
Você pode pensar nisso como a porta remota que o usuário deseja conectar para estar acessível localmente em sua própria máquina. Então, digamos que a porta do proxy fosse 8080, o usuário definiria suas configurações de proxy para 127.0.0.1:8080 - em outras palavras, a porta 8080 na máquina própria . Isso seria encaminhado através do túnel para a porta 8080 no servidor proxy.
A configuração do tunelamento ssh é diferente para cada cliente ssh. Para o cliente de linha de comando ssh padrão, você usaria o seguinte comando para criar o túnel:
ssh -L 8080:localhost:8080 proxy-ip-address
O que isto está dizendo é criar uma porta (L) ocal 8080 e encapsulá-la através da sessão ssh, e na outra ponta, enviá-la para localhost: 8080
Quaisquer pacotes enviados para a porta 8080 localmente serão então enviados através do túnel para a porta do servidor proxy 8080.