因此,我想访问一个只允许来自特定 IP 域的计算机访问的网站。我的 IP 不属于允许的域之一,但我已经通过 ssh 连接到位于允许域之一的另一个位置的 (linux) 机器。
如何在本地机器上启动 Web 浏览器并通过远程机器的 IP 访问网站?
答案1
Clemens 的回答中的 SSH 隧道适用于一个特定的网站,但有一点需要注意...如果网站进行虚拟托管,其内容取决于指向特定主机名的 HTTP 请求,则简单的端口隧道将不起作用。而且它只能将您带到一个网站。
更强大的解决方案是使用 OpenSSH 动态端口转发。命令如下:
ssh -D 1080 ssh-server.example.com
接下来,将客户端上的浏览器设置为使用 127.0.0.1、端口 1080 的 SOCKS 代理。
现在,无论您访问哪个站点,您的所有浏览活动(包括 DNS 查找)都将使用远程服务器。
更多详细信息请参见此处:SSH/OpenSSH/PortForwarding:动态端口转发
如果您需要在正常浏览和通过远程 SSH 服务器浏览之间频繁切换,请考虑为您的浏览器安装插件以进行快速代理切换。有很多这样的插件。
答案2
您可以使用 SSH 隧道从您的客户端到 SSH 服务器建立 TCP 隧道并通过该隧道路由您的流量。
如果您要访问的 SSH 服务器端的私有 IP 是 192.0.2.1,且您的 ssh 服务器是 ssh.example.com,则可以使用如下 SSH 命令:
ssh -L 8080:192.0.2.1:80 ssh.example.com
建立此 ssh 连接后,您可以将本地浏览器指向,并且您应该会看到在私有网络中http://localhost:8080
浏览时所看到的页面。http://192.0.2.1