如何在笔记本电脑上建立隧道并浏览服务器网页?

Cpp*_*ner 73 ssh tunnel remote

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

我不能。上次我和他们核对时,我几乎没有什么需要做的。

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

有小费吗?

谢谢。


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

ssh -L 8080:<server-ip-address>:80 <username>@<remote-addr> -N
Run Code Online (Sandbox Code Playgroud)

Jam*_*dge 129

有两种方法可以使用 SSH 执行此操作。

使用 SOCKS 代理隧道化一切

使用以下命令登录远程机器:

ssh -D 8080 remote-host
Run Code Online (Sandbox Code Playgroud)

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

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

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

隧道单个端口。

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

ssh -L 8080:server-hostname:80 remote-host
Run Code Online (Sandbox Code Playgroud)

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

这种方法的好处是它不会影响其余的浏览器流量。缺点是如果远程站点使用绝对 URL 引用,某些链接可能无法工作。如果站点主要使用相对 URL 引用,那么这种方法应该足够了。

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

  • 谢谢。这是非常有帮助的!我设法这样做了:`ssh -L 8080:&lt;server-ip-address&gt;:80 &lt;username&gt;@&lt;remote-addr&gt; -N` 类似这样(第二种方法)。 (3认同)