如何安装和使用 Ngrok
“本教程解释了如何使用 Ngrok 公开本地资源。例如,使本地网站可以通过互联网访问。
阅读本教程后,您将能够将本地计算机(本地主机或 127.0.0.1)上托管的网站和应用程序公开。除了安装方法仅涵盖基于 Debian 和 RedHat 的 Linux 发行版外,使用说明对每个发行版都有效。
本教程中包含的所有说明都包含屏幕截图,使每个 Linux 用户都可以轻松理解和遵循它们。 ”
注意:对于想要通过本地 Web 服务器尝试 Ngrok 的用户,本教程的最后一部分介绍了如何通过两个简单的步骤设置和运行 Web 服务器。
Ngrok 的工作原理Ngrok 是一项允许您公开或共享本地资源(例如互联网上的网站)的服务。为了实现这一点,Ngrok 生成一个带有动态子域的 URL。例如,如果您的网站可以通过地址 :8080 或 :8080 在本地访问,Ngrok 将生成如下 URL https://YourWebsite.ngrok.io 指向您的本地地址(:8080 或 :8080)。
用户对 Ngrok 的另一个常见用途是共享对 ssh 服务的外部访问。即使安全专家也可以测试克隆网络钓鱼技术。
这个有用的服务最好的部分是用户只需要执行 Ngrok 的命令即可发挥其功能。
安装 Ngrok在安装Ngrok之前,您需要在https://dashboard.ngrok.com/signup注册一个帐户
注册您的帐户后,请按发送到您的电子邮件地址的确认链接进行确认。
有两种方法安装 Ngrok。您可以使用快照包管理器(稍后解释),也可以从仪表板下载压缩的二进制文件。
如果您决定从仪表板下载 Ngrok 二进制文件,下载后,请通过执行以下命令将其解压缩。如有必要,根据您获得的文件更改名称。
sudo tar -xvzf ngrok-v3-stable-linux-amd64.tgz
如果您想使用 snap 安装 Ngrok,请执行如下命令。
sudo snap install ngrok
在计算机中安装 Ngrok 或二进制文件后,向下滚动仪表板并找到“连接您的帐户”部分,其中包含带有身份验证令牌的命令。复制它。
如果您下载了 Ngrok 二进制文件,请运行以下命令。
./ngrok config add-authtoken 2ErL1H2PiB6x9YjYBwyHg9GMQDJ_7bndicRjHmpPooVDnR1b8
如果 Ngrok 是通过 snap 安装的,请运行:
ngrok config add-authtoken 2ErL1H2PiB6x9YjYBwyHg9GMQDJ_7bndicRjHmpPooVDnR1b8
现在 Ngrok 就可以使用了。
如何使用 Ngrok本 Ngrok 教程的第一个示例解释了如何公开本地网站(托管在本地 Apache2 中)。要遵循此示例,您的系统上必须安装 Web 服务器。如果您想尝试此特定功能并且没有 Web 服务器,本文的最后一部分包含通过 2 个简单步骤安装和启动它的说明。
当您的系统上运行 Web 服务器时,运行以下屏幕截图中显示的命令。
ngrok http 80
输出将显示一个远程 URL,您可以通过它访问本地网站。复制转发行中的 URL。
将之前复制的 URL 粘贴到您的 Web 浏览器中。访问提供的地址时,您将收到一条警告消息,只需按访问站点按钮即可访问您的站点。
如您所见,我访问了本地网络服务器。
要退出 Ngrok,请按 Ctrl+C。
现在,让我们为下载二进制文件的用户运行以下命令,使我们的计算机可以通过 ssh 远程访问。
./ngrok tcp 22
从 span 安装 Ngrok 的用户应运行 Ngrok,如下所示。
ngrok tcp 22
在上面的屏幕截图中,转发行包含一个以 tcp:// 开头的地址。
连接的语法如下:
ssh <User>@0<ProvidedURL> -p <Port>
如上所示,不得包含 tcp://,并且必须使用 -p 选项指定端口。
ssh linux-console@0.tcp.sa.ngrok.io -p 16561
这就是公开本地 ssh 的方法。
快速 Web 服务器安装说明要在基于 Debian 的 Linux 发行版(包括 Ubuntu)上安装 Web 服务器(在本例中为 Apache2),请运行以下命令。
sudo apt install apache2
RedHat 用户可以使用下面所示的命令安装 apache。
yum install httpd
Debian 用户:安装后,通过执行下图所示的命令激活它。
sudo systemctl start apache2
基于 RedHat 的发行版:要在基于 Red Hat 的 Linux 发行版上启动 Web 服务器,请运行:
systemctl start httpd
然后,访问,就会出现默认页面。
现在您可以向上滚动以开始使用 Ngrok。
恩格罗克替代品市场上提供了 Ngrok 的替代品,您可以尝试一下。其中,您可以找到以下内容:
LocalTunnel:此替代方案不支持 ssh,但支持 http 和 https。它还允许您设置自定义子域并且不需要注册。
远程控制台:对于希望共享 ssh 服务器的用户来说,这是一个很好的选择。不支持http,无需安装。
Serveo:Teleconsole不需要注册或安装;可以简单地执行。
Pagekite:与 Ngrok 一样,Pagekite 需要注册并支持 http、https、ssh 和 tcp 协议。
由于所有替代方案都非常容易实施,因此建议尝试它们以找到最适合您需求的方案。
结论对于软件生产者、测试人员或任何需要共享本地资源的用户来说,Ngrok 是一个出色的工具。它创建绕过节点之间所有障碍的反向连接。尽管本文档重点介绍 ssh 和 http 服务,但 Ngronk 可以向互联网公开许多端口或服务。 Ngrok 还为开发人员和企业用户提供付费计划,其中包含本教程中未包含的附加功能。我们鼓励您尝试此工具和上述替代方案。