如何从具有公网IP的PC访问位于2层以下的私网服务器(SSH访问)?

如何从具有公网IP的PC访问位于2层以下的私网服务器(SSH访问)?

我需要访问(SSH)我客户的服务器(Ubuntu Server 18.04)来提供支持。但客户端位置的服务器位于私有网络中。

我本可以通过客户端路由器上的端口转发进行连接,但他们也从 ISP 获得了私有 IP。因此,如果我想连接到服务器,我需要在客户端路由器和其 ISP 路由器上安排端口转发,或者我需要让我的客户购买公共 IP。

有什么解决方案可以解决这种情况(在服务器中安装软件/包,使用反向代理服务器,使用类似反向 TCP 有效负载等),以便他们不必在 ISP 的路由器上购买公共 IP 或端口转发?

请注意,我有公共 IP,因此可以直接从服务器访问我的 PC。下面的文件是包含客户端网络的视觉表示的图像。

https://file.io/1DIu2I

任何帮助将非常感激。

答案1

您需要的是Reverse SSH,一个用于从服务器A到您的计算机创建安全隧道的术语B。请注意,此连接必须由服务器发起A。基本上是这样的:

ssh -R 3011:localhost:22 用户@B

B是您的机器。由于您提到您有一个公共 IP,因此服务器可以访问您的机器。一旦身份验证成功,就会有一个安全隧道,您可以通过该隧道 ssh 返回服务器A

ssh -p 3011 用户@localhost

乍一看,您可能正在访问自己的机器( ),但实际上您正在通过第一步创建的隧道localhost访问服务器。您可以在此阅读更多相关信息:Ahttps://blog.devolutions.net/2017/3/what-is-reverse-ssh-port-forwarding其中还提到了一些不必要的附加标志,但在某些情况下了解它们是有益的。

PS. 链接gofile.io无法访问

相关内容