Windows Server如何实现类似SSH端口转发的端口转发

120次阅读
没有评论

问题描述

在使用Windows Server 2019上的多个虚拟机实例时,每个虚拟机都有自己的私有IP,并且在内部运行一些应用程序并通过端口进行公开。现在用户希望设置一个安全连接,以便他的同事可以访问每个虚拟机内部的应用程序,而不需要将它们暴露在互联网上。用户想知道如何实现这一目标。用户提到了在Ubuntu Server上使用SSH动态端口转发的方法,想知道Windows是否有类似的替代方案。

解决方案

请注意以下操作注意版本差异及修改前做好备份。

方案1

您可以使用SSH反向代理从任何具有SSH二进制文件的终端与您的应用程序进行通信。
例如,在客户端上尝试以下命令:

ssh -NL 3000:localhost:3000 root@10.10.10.1

这个命令不会打印任何内容(除了提示输入SSH密钥的密码),也不会自动停止。要终止反向代理,可以使用Ctrl + C。
现在,您应该能够在客户端上以以下方式访问您的应用程序:

curl 127.0.0.1:3000

这将通过SSH隧道将客户端的本地端口3000转发到虚拟机的本地端口3000,从而实现安全连接。

方案2

如果您不想使用SSH,您还可以考虑使用其他工具来实现端口转发。以下是一些可供选择的工具:
– Ngrok:Ngrok是一个强大的工具,可以将本地端口暴露到公共互联网,并提供安全的隧道连接。您可以在https://ngrok.com/上了解更多信息。
– FRP:FRP是一个快速反向代理,可以帮助您将本地端口映射到公共互联网。您可以在https://github.com/fatedier/frp上找到更多信息。
这些工具都提供了类似于SSH端口转发的功能,可以帮助您实现安全的连接。
请注意,使用第三方工具时,您需要仔细阅读其文档并按照说明进行配置和使用。

正文完