Metoda 1: Použijte HTTP proxy, která podporuje použití SOCKS upstream, např. Polipo nebo Privoxy.
Nejprve vytvořte -D
tunel přes SSH jako vždy, poté nakonfigurujte HTTP proxy tak, aby používal tunel SSH – příklad konfigurace Polipo:
proxyAddress = "::1"
proxyPort = 8118
socksParentProxy = "localhost:8080"
socksProxyType = socks5
Nakonec nasměrujte aplikaci na Polipo pomocí http_proxy=localhost:8118
.
Metoda 2: Spusťte svůj program uvnitř torsocks
wrapper (nebo starší tsocks
), který transparentně zastupuje všechna připojení. Byl určen pro použití s Tor, ale funguje s jakýmkoli SOCKS serverem, včetně ssh -D
.
Metoda 3: Nastavte HTTP proxy na vašem serveru a poté použijte ssh -L
pro přístup.
Každých -D
výsledky na server SOCKS. Pokud váš klient nezvládne SOCKS, zapomeňte na -D
.
Musíte spustit HTTP-Proxy na vzdáleném hostiteli a přeposlat s -L
:
ssh -f -N -n -L8080:127.0.0.1:8080 host
Mám stejný problém, který chci používat HTTP proxy přes SSH. Protože mnoho aplikací podporuje pouze HTTP proxy a HTTP proxy se snadno používá v prostředí příkazového řádku.
Sice jsem prohledal několik stránek, ale nemůžu najít přímý (lze zřetězit pomocí Polipo, Privoxy nebo tsocks ) jak to udělat...
Po několika dnech práce jsem dokončil jednoduchou Golang verzi HTTP proxy přes SSH. Klidně si s tím hrajte:mallory.
V současné době podporuje pouze klíč RSA (umístěný na $HOME/.ssh/id_rsa) a autorizaci heslem.
host
je adresa serveru SSH, port
je 22
pokud to nezmění váš admin. Na straně serveru je pouze náš starý přítel sshd
s nulovou konfigurací.
mallory -engine=ssh -remote=ssh://host:port
nebo s uživatelským jménem user
mallory -engine=ssh -remote=ssh://[email protected]:port
nebo s uživatelským jménem user
a heslo 1234
mallory -engine=ssh -remote=ssh://user:[email protected]:port
Po připojení bude HTTP proxy sloužit na localhost:1315.