Я настроил прокси SOCKS в порте 9090 к компьютеру B в другом месте:
ssh -D localhost:9090 user@B
и настроенный это в моем локальном браузере Google Chrome. Однако компьютер B находится позади Прокси HTTP, таким образом, Запросы HTTP, происходящие локально, добираются до компьютера B через прокси SOCKS, но не могут быть обращены (терминал, работающий ssh-D localhost:9090 шоу user@B, "открытые отказавший: подключение перестало работать: Никакой маршрут для хостинга", когда такой запрос выполнен).
Я попробовал:
но ни один не работал.
Кто-либо знает, как настроить прокси SOCKS, чтобы принять во внимание Прокси HTTP, позади которого компьютер B? Любой метод, который не включает изменение SSHD или глобальная конфигурация в сервере, был бы предпочтен.
Вы сделали бы намного лучше для "передавания" прокси-сервера удаленной сети по SSH вместо того, чтобы использовать встроенный сервер SOCKS (который просто ожидает пустую адресуемую шлюзом сеть в другом конце).
ssh -L 8080:internal_ip_of_proxy:8080 user@ssh_server
Это представляет прокси-сервер локально, позволяя Вам установить настройки Вашего браузера прокси на localhost:8080
, и это туннелирует по SSH к удаленному прокси.
И можно применить это к любому удаленному сервису. Вы могли, например, туннелировать Imgur со своего сервера (в действительности прокси единственного хоста):
ssh -L 8080:imgur.com:80 user@ssh_host
И на локальном терминале:
curl --header 'Host: imgur.com' localhost:8080
заголовок Хоста требуется иначе curl
, запросит несуществующее localhost
сайт. Вы могли также работать вокруг этого путем добавления строки в /etc/hosts
, разрешения imgur.com
к 127.0.0.1
... Но я добираюсь вне темы, Вам не нужно ни одно из этого в Ваших целях.