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 浏览器中使用相同的端口号即可。