(Дивна ситуація, чи не щось подібне до нерівності трикутника для маршрутизації в Інтернеті?)
У будь-якому випадку, спробуйте наступне, на A , ssh
в B з -D
аргументом,
ssh -D 1080 address-of-B
який діє як проксі-сервер SOCKS5 127.0.0.1:1080
, який може бути використаний будь-яким підтримуючим проксі-з'єднанням SOCKS5. Мабуть, це wget
можна зробити , використовуючи змінну середовища
export SOCKS_SERVER=127.0.0.1:1080
wget http://server-C/whatever
Зауважте, що іноді curl
це зручніше (тобто я не впевнений, чи wget
можна робити пошук імен хоста через SOCKS5; але, напевно, це не є однією з ваших проблем); також Firefox може повністю працювати через такий проксі-сервер SOCKS5.
Редагування Щойно я помітив, що ви шукаєте однолінійне рішення. Ну, як щодо
ssh address-of-B 'wget -O - http://server-C/whatever' >> whatever
тобто перенаправлення wget
виправленого виводу на stdout
і перенаправлення локального виводу (із ssh
запущеного запуску wget
) у файл.
Це, здається, працює, wget
вихід є лише трохи заплутаним (" збережено до - "), ви можете позбутися від нього, додавши -q
до wget
виклику.
SOCKS_SERVER
змінна середовища не впливає на Ubuntu 14.04.