A pergunta é simples, mas a resposta não é:
ssh -D 8080 user@host
ou
ssh -gCNf -D 8080 user@host
ou
wathever with -D #
Eu preciso de um tipo de proxy que eu possa usar com a variável http_proxy, em um dispositivo incorporado que não suporte SOCKS.
O que devo fazer?
linux
ssh
proxy
socks-proxy
http-proxy
behrooz
fonte
fonte
ssh -D user@host:8080
?-D
especifica uma porta para abrir o túnel, não a porta à qual se conectar. (Mesmo a ligação de porta é especificado como-p port
, não:port
, por motivos de compatibilidade.)Respostas:
Método 1: Use um proxy HTTP que suporte o uso de SOCKS upstream, por exemplo, Polipo ou Privoxy.
Primeiro, estabeleça um
-D
túnel sobre SSH como sempre, depois configure o proxy HTTP para usar o túnel SSH - por exemplo, configuração Polipo:Por fim, aponte o aplicativo para Polipo usando
http_proxy=localhost:8118
.Método 2: Execute seu programa dentro do
torsocks
wrapper (ou mais antigotsocks
), que proxies todas as conexões de forma transparente. Ele foi projetado para uso com o Tor, mas funciona com qualquer servidor SOCKS, inclusivessh -D
.Método 3: Configure um proxy HTTP no seu servidor e use-o
ssh -L
para acessá-lo.fonte
Todos os
-D
resultados em um servidor SOCKS. Se o seu cliente não pode lidar com SOCKS esqueça-D
.Você deve executar um proxy HTTP no host remoto e encaminhar com
-L
:fonte
Eu tenho o mesmo problema que deseja usar o proxy HTTP através do SSH. Como muitos aplicativos suportam apenas o proxy HTTP, o proxy HTTP é fácil de ser usado no ambiente da linha de comandos.
Embora tenha pesquisado várias páginas, mas não consigo encontrar uma maneira direta (pode ser encadeada com Polipo, Privoxy ou tsocks) para fazer isso ...
Após alguns dias de trabalho, terminei uma versão simples do Golang do proxy HTTP sobre SSH. Sinta-se livre para brincar: mallory .
Atualmente, suporta apenas chave RSA (localizada em $ HOME / .ssh / id_rsa) e autorização de senha.
host
é o endereço do servidor SSH,port
é22
se não for alterado por seu administrador. O lado do servidor é apenas nosso velho amigo,sshd
com configuração zero.ou com nome de usuário
user
ou com nome de usuário
user
e senha1234
Depois de conectado, um proxy HTTP servirá no localhost: 1315.
fonte
Isso abrirá a porta 8080 na máquina local e encaminhará todos os dados para a porta 12345 no host local, como visto na máquina remota.
fonte
Execute o Privoxy no host remoto e conecte-se via SSH ao Privoxy usando a
-L
opção:( fonte da página de manual )
fonte
Você também pode usar saca-rolhas (GPL)
Adicione o seguinte ao seu
.ssh/config
fonte