![如何通过 ssh 远程在我的 Firefox 上访问互联网?](https://linux22.com/image/1465880/%E5%A6%82%E4%BD%95%E9%80%9A%E8%BF%87%20ssh%20%E8%BF%9C%E7%A8%8B%E5%9C%A8%E6%88%91%E7%9A%84%20Firefox%20%E4%B8%8A%E8%AE%BF%E9%97%AE%E4%BA%92%E8%81%94%E7%BD%91%EF%BC%9F.png)
好吧,我完全空白的进入这个奇怪的世界。
假设我可以使用 ubuntu 中的终端(即我的带 GUI 的 PC)访问 ssh 远程服务器(有no GUI
且no monitor
没有连接的服务器)。我的 PC 上没有互联网连接,但只能使用终端中的基于文本的浏览器internet
访问服务器的互联网(没有 GUI 也没有显示器)。Elink
我还可以使用终端命令将任何文件保存到该 ssh 远程服务器上wget
。它不会将文件保存到我的硬盘中,因为我正在访问另一台服务器(没有 GUI)。
但我希望通过我的 Firefox 访问该服务器(没有 GUI)的互联网。我被 elink 浏览器(基于文本的 shi* 浏览器)卡住了。请告诉我,我可以用 Firefox 访问该互联网吗?
帮助一定会很有帮助!!
答案1
您可以使用代理来实现SOCKS
。使用-D
选项与OpenSSH
ssh
客户端:
ssh -fND 12000 <REMOTE_IP>
它将SOCKS
在端口上创建一个本地代理12000
,您可以根据需要选择其他端口。-fN
是将ssh
命令放在后台,因为我们要做的只是创建SOCKS
代理。 转到firefox
,Edit->Preferences->Advanced->Network->Settings
检查Manual proxy configuration
,输入localhost
并SOCKS host
在其旁边输入12000
。从现在开始,您应该能够通过远程主机Port
访问 Internet 。 这是经典形式的firefox
隧道。它对于绕过过于急切的防火墙或网吧等的安全连接特别有用。如果你觉得你会更频繁地Firefox
使用它,你可以使用mozrepl 插件。例如我使用以下脚本:
#!/usr/bin/env sh
ssh -4 -fND 12000 home
# modify firefox settings with mozrepl
(echo "prefs = Components.classes[\"@mozilla.org/preferences-service;1\"].getService(Components.interfaces.nsIPrefBranch)"; echo "prefs.setIntPref(\"network.proxy.type\", \"1\")"; sleep 2) | telnet 127.0.0.1 4242 > /dev/null
# got to http://v4.ident.me/ to make sure that IP changed
(echo "content.location.href = 'http://v4.ident.me/'"; sleep 2) | telnet 127.0.0.1 4242 > /dev/null
另请注意,您可以在许多其他程序(例如不支持使用包装器开箱即用的代理的SOCKS
电子邮件客户端)中使用本地创建的代理。SOCKS
tsocks