如何在笔记本电脑上浏览和浏览服务器网页?


55

我在其中一台实验室服务器上运行了一个Web应用程序,并且已经在这些计算机上设置了X11转发。其他实验室成员可以通过SSH建立隧道,并可以在本地使用其本地浏览器浏览该Web应用程序。

我不能 上次与他们核对时,几乎不需要执行任何操作。

当我打字时,192.168.1.113/webapp我什么也没得到。

有小费吗?

谢谢。


我最终使用了第二种方法:)

ssh -L 8080:<server-ip-address>:80 <username>@<remote-addr> -N

@BlueXrider一般,是的,是主题,是的。对于这样的事情,Ubuntu的版本并不重要,它与“ 什么是洪流”以及如何使用它一样在主题上有关。:)
jrg

Answers:


105

您可以通过两种方式使用SSH进行此操作。

使用SOCKS代理隧道传输所有内容

使用以下命令登录到远程计算机:

ssh -D 8080 remote-host

现在转到浏览器的代理设置,并将其配置为使用具有主机名127.0.0.1和端口8080(或传递给该-D选项的任何端口)的SOCKS代理。现在,您在Web浏览器中加载的所有页面都将通过SSH连接建立隧道。现在,您应该能够以与从远程主机相同的方式访问私有网页。

完成后,将浏览器的代理设置恢复为正常。

这种方法的缺点是,Web浏览器中的所有其他流量也将通过SSH连接。从好的方面来说,您可以使用其真实主机名访问远程服务器,并且可以轻松访问多个私有站点。

隧道化单个端口。

另一种方法是使用SSH转发单个端口:

ssh -L 8080:server-hostname:80 remote-host

现在,如果将Web浏览器指向http://localhost:8080/,则应该看到http://server-hostname/远程主机上显示的内容。

这种方法的好处是,它使剩下的浏览器流量保持不变。缺点是,如果远程站点使用绝对URL引用,则某些链接可能不起作用。如果站点主要使用相对URL引用,则此方法应足够。

对于这两种解决方案,port都没有什么特别的8080。只要您记得在ssh调用和Web浏览器中使用相同的本地端口号,就可以使用它。


3
谢谢。这非常有帮助!我设法做到了: ssh -L 8080:<server-ip-address>:80 <username>@<remote-addr> -N像这样(第二种方法)。
CppLearner 2012年

是否必须在第一种方法中配置袜子代理(请参阅:spareclockcycles.files.wordpress.com/2009/04/…)是否正确?即如果我将http代理指向127.0.0.1:8080,它将无法正常工作?如果这是正确的,也许您可​​以在一个很好的答案中指出,需要设置袜子代理即可。
学生

如果您使用Chrome(第二个浏览器?),则可以直接在开始时传递SOCKS5的代理参数:chromium-browser --proxy-server =“ socks5:// localhost:8080”
panticz.de 2015年
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.