(Situazione strana, qualcosa come la disuguaglianza del triangolo non vale per il routing di Internet?)
Ad ogni modo, prova quanto segue, su A , ssh
in B con un -D
argomento,
ssh -D 1080 address-of-B
che funge da proxy SOCKS5 su 127.0.0.1:1080
, che può essere utilizzato da qualsiasi cosa supporti connessioni proxy SOCKS5. Apparentemente, wget
puoi farlo usando la variabile d'ambiente
export SOCKS_SERVER=127.0.0.1:1080
wget http://server-C/whatever
Si noti che a volte curl
è più utile (cioè non sono sicuro che sia wget
possibile effettuare ricerche di nomi host tramite SOCKS5; ma questo non è uno dei tuoi dubbi, suppongo); anche Firefox è in grado di funzionare completamente attraverso tale proxy SOCKS5.
Modifica Ho appena notato che stai cercando una soluzione a una riga . Bene, che ne dici
ssh address-of-B 'wget -O - http://server-C/whatever' >> whatever
cioè reindirizzare l' wget
output -upetch a stdout
e reindirizzare l'output locale (dall'esecuzione ssh
in wget
remoto) a un file.
Questo sembra funzionare, l' wget
output è solo un po 'confuso (" salvato in - "), puoi liberartene aggiungendo -q
alla wget
chiamata.
SOCKS_SERVER
variabile d'ambiente non ha alcun effetto su Ubuntu 14.04.