专栏首页WalkingCloud利用ngrok实现Linux服务器 SSH&Web服务的内网穿透

利用ngrok实现Linux服务器 SSH&Web服务的内网穿透

前言:ngrok概念用途

ngrok是一个非常流行的反向代理服务,通过在公共的端点和本地运行的 Web 服务器之间建立一个安全的通道,支持80端口以及自定义tcp端口转发.ngrok 可捕获和分析所有通道上的流量,便于后期分析和重放,可以进行内网穿透,这样你就可以在内网运行本地的程序,让别人通过公网访问了

原理:ngrok通过安全隧道将NAT和防火墙后面的本地服务器暴露给公共互联网.你可以在你的机器上下载并运行ngrok程序,并为其提供网络服务的端口,通常是网络服务器。它连接到ngrok云服务,该服务接受公网地址上的流量,并将流量转发到您计算机上运行的ngrok进程,然后转到你指定的本地地址

下面介绍如何下载安装并使用ngrok,以及结合实际网络环境利用ngrok实现Linux服务器SSH&Web服务的内网穿透

一、ngrok下载

官网上https://ngrok.com/download下载

支持Linux ,Mac,Windows等众多平台版本

二、注册ngrok账户

申请ngrok免费账户,建议用GitHub账户去注册ngrok账户,我这边直接用邮箱申请ngrok账户一直报Failed to solvecaptcha(无法解析验证码)的错误,万般无奈之下,用GitHub账户注册解决

注册申请成功之后,ngrok官网上登录账户,你会在Dashboard上看到免费提供给你的一串授权口令(后面会用到)如下截图所示

三、结合下面的网络环境,利用ngrok实现Linux服务器 SSH&Web服务的内网穿透

1) 从ngrok官网上下载Linux版本ngrok

2)SecureCRT登录Linux服务器 (IP地址:192.168.31.80)

rz上传到CentOS服务器,unzip解压并添加执行权限chmod 755 ngrok

3)授权口令authtoken从官网的Dashboard—Auth页面上Copy复制下来,然后运行./ngrokauthtoken XXXXXXXXX ,如下截图所示

4)授权口令首次执行,后面就不用再运行了,接下来就可以进入正题

输入./ngrok tcp 22

如上截图红圈,可以看到Forwarding 端口转发信息

tcp://0.tcp.ngrok.io:18188 -> localhost:22

也就是本地的22 端口可以通过公网0.tcp.ngrok.io:18188去访问

5)在外网PC上SecureCRT登录0.tcp.ngrok.io:18188验证一下

验证OK

ngrok也可以转发到其他计算机上的服务(非本地服务),只需指定一个网络地址和端口即可,如下拓扑图所示

下来介绍一下在内网Windows PC 192.168.31.5上实现转发其他服务器的http服务

1)Windows上运行ngrok步骤与Linux基本上没有啥差别,如下截图

2)输入ngrok tcp 192.168.31.1:1314

3)外网PC上Web浏览器登录

http://0.tcp.ngrok.io:17648/验证OK

总结:一条命令解决外网访问内网问题,无需任何配置,下载ngrok之后直接一条命令让外网访问您的内网不再是距离

另外:ngrok 是一个开源程序,官网服务在国外,国内访问国外速度慢.国内有相应类似ngrok的内网穿透服务,例如 natapp,frp等,有兴趣的可以自己研究一下

本文分享自微信公众号 - WalkingCloud(WalkingCloud2018),作者:yuanfan2012

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2019-06-20

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 如何恢复故障KVM虚拟机qcow2磁盘镜像文件LVM分区中的数据

    下面以Fedora32 Cockpit方式安装的虚拟机为演示环境,介绍如何恢复故障KVM虚拟机qcow2磁盘镜像文件LVM分区中的数据

    yuanfan2012
  • CentOS7下搭建OpenV** Server

    VPN直译就是虚拟专用通道,是提供给企业之间或者个人与公司之间安全数据传输的隧道,OpenVPN无疑是Linux下开源VPN的先锋,提供了良好的性能和友好的用户...

    yuanfan2012
  • CentOS7下KVM虚拟化环境中体验Aliyun Linux 2系统

    Aliyun Linux 2 是阿里云推出的下一代 Linux 发行版,它为云上应用程序环境提供 Linux 社区的最新增强功能,在提供云上最佳用户体验的同时,...

    yuanfan2012
  • 使用Ngrok将本地服务映射为公网服务

    这篇文章将为大家介绍ngrok,如何安装,配置以及在什么场景下需要使用ngrok。在没有使用过Ngrok之前,您可能会遇到过这样一些情况

    字母哥博客
  • 内网穿透神器:Ngrok在支付中的正确使用姿势

    随着互联网的发展,无论是web服务还是移动APP越来越多的都集成了第三方支付(支付宝、微信、银联)。通常作为服务提供方,支付成功以后都会有一个后端回调URL来通...

    小柒2012
  • 使用ngrok作反向代理

    自从进入了公司,就碰到一个很大的问题,那就是公司电脑扛不走,所以在家想访问公司的电脑中的资料就很麻烦,所以就只能使用ngrok作反向代理,之后ssh到公司网站去...

    bboysoul
  • 内网穿透神器:Ngrok在支付中的正确使用姿势

    小柒2012
  • ubuntu搭建内网穿透服务Ngrok

    说些闲话: 最近一直在乱折腾,看看C,看看Python,又打算去看一下PHP,然后又是前端的Vue.Js,最后发现——嗯?我都在干些什么? 当然不论是在做什么...

    李郑
  • 自己搭建ngrok服务把树莓派放到公网上去

    为什么自己搭建ngrok服务呢?原因很简单,官方如果绑定域名要收费啊,自己有服务器,所以就自己搭建一个好了,要求的服务器配置又不高,说实在的树莓派IO真的惨不忍...

    bboysoul
  • 如何将自己本地的项目让外网访问?

    记得以前刚上大学学过一段编程以后总想着网站到底是怎么做的,项目部署以后又怎么让外网的人访问呢!

    技术从心

扫码关注云+社区

领取腾讯云代金券