我需要通过反向隧道 RDP 到服务器

我需要通过反向隧道 RDP 到服务器

我有一台位于网络 A 上的 Windows PC 和一台位于网络 B 上的 Windows PC。此外,在网络 BI 中还有几台 Linux 服务器。从网络 A 上的 PC,我可以 ssh 到网络 B 上的任何服务器。但是,我无法从网络 B 上的计算机连接到网络 A 上的 PC。

                                                      Windows PC Local
                                                       __  _          
                              can ssh                 [__]|=|         
              .-,(  ),-.    --------->    .-,(  ),-.  /::/|_|         
           .-(          )-.            .-(          )-. 
          (    Network A   )          (    Network B   )
           '-(          ).-'           '-(          ).-'
               '-.( ).-'    <---------     '-.( ).-'    
                            can't ssh               Linux Server #1
     Windows PC Remote                               __  _         
      __  _                                         [_Linux Server #2
     [__]|=|                                        /: __  _         
     /::/|_|                                          [__]|=|        
                                                      /::/|_|        

我希望能够从我的网络 B PC 通过 RDP 到我的网络 A PC。是否可以使用某种通过 Linux 机器的反向隧道来实现这一点?

答案1

解决方案一:从网络 A 上的 PC 创建一个反向 SSH 隧道与类似的东西油灰通过连接到网络 B 上的 Linux 主机。本地端口应该是3389,远程主机127.0.0.1和端口是任意的(让我们使用6000作为示例)。然后从网络 B 上的 PC,使用 putty 连接到同一台 Linux 主机,并执行转发隧道。本地端口应设置为其他端口3389(因为 Microsoft RDP 客户端不允许连接到本地主机,但它将要允许在任意端口上连接到本地主机)。因此,让我们重复使用相同的端口号6000,远程 IP 应该是127.0.0.1远程端口6000。然后将 RDP 客户端指向127.0.0.1:6000

实际上,您连接到6000网络 B 中 PC 上的端口。Putty 将其转发到 Linux 主机,该主机已设置为转发到127.0.0.1端口6000。来自网络 A 上的 PC 的 putty 连接侦听6000并将其转发到127.0.0.1PC A 上的端口3389,然后 RDP 接受该连接。

解决方案2:在网络 B 上的 PC 上设置 SSHD,然后只需执行单个反向端口转发。有Bitvise 固态混合硬盘它在 Windows 上运行,并且免费供非商业用途。 Bitvise 还制作了一个单独的客户端,与 WinSSHD 一起处理 RDP 隧道。这个解决方案的好处是保存用户名、设置(如全屏等),并且可以从保存文件启动,并且将阻止您在使用 RDP 之前设置/记住连接端口转发。

相关内容