使用 SSH 访问公司内联网 (http/https)(AllowTcpForwarding 可能设置为“否”)

使用 SSH 访问公司内联网 (http/https)(AllowTcpForwarding 可能设置为“否”)

我如何从外部访问我公司 LAN 内的 Web 服务?我可以通过 SSH 访问 LAN 内的机器。

我尝试使用 Putty 设置动态端口转发,并将 Firefox 配置为使用 localhost 作为 SOCKS 代理,但似乎不起作用。使用 Firefox 中的此代理配置,我根本无法访问任何页面。

是不是因为 AllowTcpForwarding 设置为 no 了?怎么检查?

还能是别的吗?

我希望能够连接到 LAN 内的多个不同的网站/服务,这些网站/服务均使用 http 和 https,并在端口 80、433 以及其他端口上运行。我确实不是拥有 LAN 内任意机器的 root 访问权限。

那么,我如何访问公司局域网内的 Web 服务?

编辑:

$ cat /proc/sys/net/ipv4/conf/ppp0/forwarding
cat: /proc/sys/net/ipv4/conf/ppp0/forwarding: No such file or directory
$ cat /proc/sys/net/ipv4/conf/eth0/forwarding
0

所以我猜这意味着 AllowTcpForwarding 是“否”。

编辑2:

Lynx 尚未安装,但我想我可以编译它并将其安装到 ~/bin/,但我担心这无济于事。我需要访问的服务之一是花哨的拖放网页,因此我需要能够使用现代图形浏览器来访问它。

编辑3:

因此,看起来我用 Putty 设置的 SOCKS 代理确实有效。但只适用于某些 URL。我们有一个用于自动代理配置的 .pac 文件。我可以在工作时无需代理配置即可访问的网站也可以通过我的 SOCKS 代理访问。

因此,为了让所有东西都能通过 SOCKS 代理正常工作,我似乎需要以某种方式合并 .pac 文件中的规则。有人知道怎么做吗?

答案1

最简单的方法是使用简单的端口转发。在 Putty 中,前往联系->SSH->隧道类别并输入:

  • 您选择的本地港口源端口场地
  • 内部 Web 服务的主机+端口目的地场地
  • 添加

以下是一个例子:

在此处输入图片描述

连接后,您可以http://localhost:8081/在 Web 浏览器中输入,它将显示托管在您公司 LAN 上的以下地址的网站http://192.168.1.17:80

您必须对要访问的每个 Web 服务重复此过程,并提供新的端口号,例如,您可以使用以下方式访问第二个 HTTPS 服务源端口 8082目的地 192.168.1.18:443

答案2

您可以使用 lynx。它不会给您显示精美的图形,但会在 80 和 443 上“访问您公司 LAN 内的 Web 服务”,当然必须安装它...

相关内容