tunnlr等服务如何运作?

时间:2012-12-21 19:20:12

标签: ruby language-agnostic ssh tunnel

该网站说:

  

Tunnlr使用SSH远程隧道。它可以安全地连接您的端口   本地计算机到我们公共服务器上的开放端口。一旦你开始   您的Tunnlr客户端,本地计算机上的Web服务器将是   通过您特殊的Tunnlr URL提供给世界其他地方。

有人可以详细介绍整个过程的工作原理吗?或者可能指向允许同样事情的开放源代码?

1 个答案:

答案 0 :(得分:6)

SSH protocol允许在任一方向上连接隧道。所以根据上面的描述,这里发生了什么:

  1. 您将客户端程序(SSH客户端)下载到您的计算机并运行它。
  2. 客户端建立从计算机到tunnlr远程服务器的SSH连接
  3. 在tunnlr服务器上,为传入连接打开一个访问端口。让我们说端口1234。
  4. 现在,当任何人连接到tunnlr:1234时,tunnlr服务器将通过步骤2中建立的连接指示您的客户端程序打开计算机内部的连接 - 让我们说到端口80(例如,您在那里运行网络服务器) )。
  5. 隧道连接现在将在tunnlr:1234your_computer:80
  6. 之间随机播放数据

    这就是有效的:

    [some_remote_computer]<->[tunnlr:1234]<->[SSH tunnel]<->[your_computer:80]
    

    假设some_remote_computer是您的朋友或您希望能够连接到本地网络服务器的任何其他人。

    SSH可用于许多平台(Linux,Windows,OSX等)。您可以使用它轻松构建此类隧道,但您当然需要访问要在其间构建隧道的两台计算机。假设一台计算机是您自己的计算机,另一台计算机是您租用的VPS(或任何其他具有SSH访问权限的远程服务器)。现在您可以运行完全相同的设置。

    tunnlr的优势在于它们可以为您管理远程服务器,并且它们具有可用于隧道的注册主机名。