当远程服务器本身必须配置 http_proxy 才能访问网页时,如何设置 ssh 隧道?

当远程服务器本身必须配置 http_proxy 才能访问网页时,如何设置 ssh 隧道?

1、有2台主机,分别为hostA和hostB,均安装了Linux发行版和openSSH;

2、hostA无法访问公网,但是可以通过ssh访问hostB;

3、hostB可以访问公网,但是由于防火墙的原因,如果hostB要访问网页(例如stackoverflow.com),必须先在hostB上设置http代理,可以在终端中通过export http_proxy=http_proxy_server:8000来完成,或者在firefox上设置http代理,使用proxy_server ip和端口8000;

4,我可以在hostA上执行“ssh -D 7030 gemfield@hostB”来设置ssh隧道/套接字代理,然后在hostA上的firefox上设置套接字代理(localhost:7030),但hostA仍然无法访问网页;

5、如何配置hostB(或hostA)让hostA上的firefox可以通过ssh隧道/套接字代理访问网页?

答案1

user@hostA# ssh -L 3128:proxyserver:3128 gemfield@hostB

然后只需在 hostA 上将代理设置为 localhost:3128 即可。

答案2

可能 hostA 也需要通过 hostB 隧道解析 DNS。请尝试以下解决方案:

https://superuser.com/questions/103593/how-to-do-dns-through-a-proxy-in-firefox

相关内容