Use o SSH para criar um proxy HTTP sem navegador

0

Estou tentando acessar um site HTTP (S) no navegador do meu dispositivo. Meu dispositivo pode acessar o site somente por meio de um túnel SSH duplo.

Usando esta técnica , posso configurar meu navegador Firefox para proxy com sucesso através de um túnel SSH em um servidor meu chamado SERVER1 .

No entanto, SERVER1 não pode acessar o site de que preciso. Felizmente, SERVER1 pode SSH para outro SERVER2 que pode.

Agora, posso executar:

SERVER1 $ ssh -D 12345 myuser@SERVER2

e crie outro túnel de SERVER1 para SERVER2 , mas não estou claro sobre como fazer a parte "firefox" sem o firefox em SERVER1 .

Além disso, o site está em uma porta não padrão (digamos 8765), então não tenho certeza se o export http_proxy funcionaria.

Como eu faria isso? Obrigado

    
por JoeSlav 26.01.2018 / 17:13

2 respostas

5

Duplicado de Como encadear proxies do SOCKS?

Para encadear proxies: link

ssh -tt -v -L1234:localhost:12345 user@server1 ssh -t -D 12345 user@server2
    
por 30.01.2018 / 04:32
1

Primeiro, configure uma corrente ProxyJump para o servidor de destino. isso pode parecer com isso em seu ssh-config

Host SERVER2 
ProxyJump SERVER1

Você pode encadear mais jumphosts usando ProxyJump jumphost1,jumphost2

Em seguida, use ssh -D 1234 SERVER2 e defina localhost:1234 como socks Proxy no firefox local.

Uma alternativa é usar ssh -L para encaminhar a porta HTTP, mas pode ser mais complicado quando o servidor usa o nome do host para hosts virtuais ou a seleção de um certificado TLS.

O interessante sobre o ProxyJump é que você não precisa pensar sobre quando configurar e todas as opções do ssh funcionarão normalmente e você pode usar o nome do host como se você pudesse alcançá-lo diretamente.

    
por 31.01.2018 / 11:11