通过其他服务器连接到http服务器

通过其他服务器连接到http服务器

游戏中有三台计算机。全部都是 Linux 计算机。

笔记本电脑:我的工作用笔记本电脑,运行 Linux,几乎可以用它做任何事情。可以将其设置为可通过互联网访问

RootServer (RS):此服务器位于防火墙和许多不同系统后面,只能通过 Web 界面访问,这为我提供了一个糟糕的 Web 终端。但它确实可以完全访问互联网,我甚至在这里拥有 root 访问权限。

Web 服务器 (WS):在端口 80、8000、8001、443 和其他一些端口上提供一些网页。除了网页之外,没有其他途径可以访问此机器。我不知道防火墙设置中的具体情况,但 RS 机器可以访问此处的网页。

所以这里的问题是,我需要某种方式来访问 WS 上的网页,就好像我和 RS 在同一个网络上一样,所有这些都通过我的笔记本电脑进行,而我的笔记本电脑无法直接连接到 RS。但是 RS 可以连接到 WS 和我的笔记本电脑。

我在想应该有某种 SSH 魔法可以让我做这样的事情:

(浏览网页)笔记本电脑 <- RS --> WS(托管网页)

有人知道怎么做吗?

答案1

分析

您所需要的 SSH 魔法的关键部分描述如下:如何使用创建 SOCKS 代理ssh。 按照我的答案在那里,有两种情况:

    • 笔记本电脑= A=B
    • RS=C
    • WS=D
    • 笔记本电脑=A
    • RS= B=C
    • WS=D

在第一种情况下,您需要通过 SSH 从笔记本电脑访问 RS(B -> C)。在第二种情况下,您需要在 RS 上打开一个监听端口,以便笔记本电脑可以连接到它(A -> B)。

由于 RS “位于防火墙和许多不同系统后面”,并且“只能通过 Web 界面访问”,我认为您的“此处的 root 访问权限”不足以使某些端口(无论是否使用 SSH)公开可访问。因此,您很可能需要创建一个隧道,以便您的笔记本电脑可以访问 RS。

无论选择哪种场景,要求都是相同的:

  • 笔记本电脑上的 SSH 服务器能够接受来自 RS 的连接。
  • RS 上的 SSH 客户端能够访问笔记本电脑。
  • RS 上的 SSH 服务器能够接受从 RS 本身到 RS 本身的连接。
  • 笔记本电脑上的浏览器能够使用 SOCKS。

此外,场景 1 要求笔记本电脑上有 SSH 客户端。这个要求可能微不足道。

我认为,如果一种方案可行,那么另一种方案也会可行。


场景 1

  1. 创建一个隧道,以便您ssh稍后可以从笔记本电脑到 RS:

    # on RS
    ssh -R 7722:localhost:22 Laptopuser@Laptop
    

    此处 7722 为任意端口。您可能无法绑定到小于 1024 的端口。22 是 RS 上的 SSH 服务器的端口(必要时可调整)。

  2. ssh使用动态端口转发(SOCKS代理)的RS:

    # on the Laptop
    ssh -p 7722 -D 7780 RSuser@localhost
    

    7780 是任意端口。

  3. 在笔记本电脑上设置浏览器,以便将其用作localhost:7780SOCKS 代理。要访问 WS,请使用 URL,就像浏览器在 RS 上一样。

请注意,您的笔记本电脑的其他用户(例如通过 SSH 连接的用户)localhost:7780也可以使用它来访问 WS。


场景 2

  1. 准备动态端口转发(SOCKS代理):

    # on RS
    ssh -D 7781 RSuser@localhost
    

    此处 7781 是任意端口。您可能无法绑定到编号低于 1024 的端口。

  2. 创建到代理的隧道:

    # on RS
    ssh -R 7780:localhost:7781 Laptopuser@Laptop
    

    7780 是任意端口。我使用了不同的数字(7780 和 7781)来表明它们可以不同;但它们也可以相同,在这种情况下这并不重要。

  3. 在笔记本电脑上设置浏览器,以便将其用作localhost:7780SOCKS 代理。要访问 WS,请使用 URL,就像浏览器在 RS 上一样。

注意,RS 的其他用户可以使用localhost:7781SOCKS 代理。这可能没什么区别,因为他们可能无论如何都能访问 WS。或者这可能会有很大的不同,因为他们将使用由您用户下运行的代理发起的从 RS 到 WS 的连接(RSuser)和用户可能很重要

同样,您的笔记本电脑的其他用户(例如通过 SSH 连接的用户)也可以使用它localhost:7780来访问 WS。


笔记

相关内容