- 这是youtube的视频教程https://www.youtube.com/watch?v=p3ptKjLGClc&t=75s
- 这是配套的文字教程http://www.vediotalk.com/?p=336
在我生成了ngrok客户端和服务端文件以后,如以下文件
image.png
win客户端运行没有问题,但是Linux客户端运行的时候报错
-bash: ./ngrok: 权限不够
我想我用的是root账户,怎么可能执行文件权限不够呢,于是上网百度,说是人家压根就没有执行的权限,我一看还真是没有x权限。难道使用MobaXTerm把文件先放到windows上再传给另一个Linux电脑会自动把x权限拿掉嘛?
image.png
我把ugo用户权限都加x以后就可以正常运行了。
以下记录一下http和tcp的映射
- 创建一个配置文件ngrok.cfg,内容如下:
server_addr: tunnel.imike.me:4443
trust_host_root_certs: false
- 映射HTTP
#启动ngrok客户端
#指定子域、要转发的协议和端口,以及配置文件,运行客户端:
#注意:如果不加参数-subdomain=test,将会随机自动分配子域名。
./bin/ngrok -subdomain web -proto=http -config=ngrok.cfg 80
#客户端ngrok正常执行显示的内容
ngrok (Ctrl+C to quit)
Tunnel Status online
Version 1.7/1.7
Forwarding http://web.tunnel.imike.me:8081 -> 127.0.0.1:80
Web Interface 127.0.0.1:4040
# Conn 0
Avg Conn Time 0.00ms
————————————————
版权声明:本文为CSDN博主「easy-cloud」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/daiqi5527153/article/details/78629359
- 映射TCP
有时候,我们使用远程桌面功能,或者在linux中进行SSH连接,对于处在内网环境中的计算机,我们可以对该端口进行TCP映射。
#这里以SSH连接Linux时的22端口为例
./bin/ngrok -config=ngrok.cfg -proto=tcp 22
映射成功的话,会显示如下内容:
#客户端ngrok正常执行显示的内容
ngrok (Ctrl+C to quit)
Tunnel Status online
Version 1.7/1.7
Forwarding tcp://imike.me:12222 -> 127.0.0.1:22
Web Interface 127.0.0.1:4040
# Conn 0
Avg Conn Time 0.00ms
————————————————
版权声明:本文为CSDN博主「easy-cloud」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/daiqi5527153/article/details/78629359
配置文件
server_addr: "ngrok.leanwilling.club:4443"
trust_host_root_certs: false
tunnels:
vee:
subdomain: "vee"
auth: "vee:admin1993" #这里的auth是访问这个二级域名要输里面得得密码
proto:
http: 192.168.1.108:80
vee1:
subdomain: "vee1"
proto:
http: 192.168.1.104:80
ssh:
remote_port: 50000
proto:
tcp: 127.0.0.1:22
test:
hostname: "test.leanwilling.club"
proto:
http: 80
test1:
hostname: "leanwilling.club"
proto:
http: 127.0.0.1:80
test2:
hostname: "www.leanwilling.club"
proto:
http: 127.0.0.1:80
运行命令:
ngrok -config=ngrok.cfg start vee vee1 ssh test test1 test2
运行截图
image.png