SSH隧道远程连接局域网的电脑

背景:我有一台公网ip的Ubuntu服务器,地址是:8.137.100.101,内网地址是:192.168.3.100。另外我有一台Windows 10的电脑打开了远程桌面登录,内网地址是:192.168.3.50。我想在任意的电脑上通过8.137.100.101来远程连接Windows10电脑。(无需安装任何程序,也无需提前配置)

方案:

如果有一台具有公网IP地址(8.137.100.101)的Ubuntu服务器和一个位于同一内网(192.168.3.x)的Windows 10电脑,可以通过SSH隧道来实现远程连接到Windows 10电脑。

1.在Windows 10电脑上开启远程桌面

  • 确保远程桌面功能已开启。
  • 记下Windows 10电脑的内网IP地址(192.168.3.50)。

2.在Ubuntu服务器上设置SSH隧道

  • 确保您的Ubuntu服务器上安装了SSH服务。
  • 在任意外部电脑上,使用SSH命令创建到Ubuntu服务器的隧道,并将流量转发到Windows 10电脑的远程桌面端口。命令示例:
  • ssh -L [本地端口]:192.168.3.50:3389 [Ubuntu用户]@8.137.100.101
    # 例如
    ssh -L 8888:192.168.3.50:3389 root@8.137.100.101
    

    这里,[本地端口]可以是选择的任意未被占用的端口,例如8888

3.通过SSH隧道连接

  • 在同一台电脑上打开远程桌面连接工具。
  • 连接到localhost:[本地端口],例如localhost:8888
  • 输入Windows 10的登录凭据。