微信开发访问本地服务器 ssh/autossh内网穿透

微信开发调试必备:内网穿透(ssh远程转发与本地转发)

参数说明
9999远程123.123.123.123主机的端口
localhost:8488本地ip 或者其它ip
-C为压缩数据
-q安静模式
-T禁止远程分配终端
-n关闭标准输入
-N不执行远程命令
  1. 需求


    开发微信相关功能的时候需要在本地调试,于是就需要把提供给微信的域名接收到的请求从公网上转到本地。

  2. 实现方案


    ngrok:用go实现的http隧道工具
    https://my.oschina.net/jianming/blog/1633243 原理
    ssh: 最小成本搭建开发环境

  3. 绑定0.0.0.0

$ vi /etc/ssh/sshd_config
#加入一行
GatewayPorts yes
$ service sshd restart  (centos重启ssh)
  1. 远程转发


    ssh -R参数开启远程转发功能
    借用大神blog了解下各种名词解释-> https://www.cnblogs.com/zangfans/p/8848279.html
$ ssh -CqTnN -R  0.0.0.0:9999:localhost:8488  root@123.123.123.123

或者

$ ssh  -qngNTR  0.0.0.0:9999:localhost:8488   root@123.123.123.123
  1. ssh连接掉线处理方式


    使用autosssh
$ autossh  -M 5555 -v -CqTnN -R 8080:localhost:8080  root@123.123.123.123

Q1:实际使用上还是会过几天就会掉线,要重启下autossh,可以使用supervisor管理进程
Q2:root账户到对端必须支持ssh免登录

最后再贴下ssh本地转发命令

$ ssh -CqTnN -L  9999:123.123.123.123:15672  root@123.123.123.123

本地端口9999被访问时,会自动转发到远程服务15672端口
navicat可以使用ssh隧道方式连接远端的mysql服务器
还有用途很多,比如一些私密的连接,远端服务器(比如阿里云)不想对外开放端口,就可以用这种连接方式

  1. 最后在123.123.123.123查看端口被占用情况

绑定0.0.0.0前

$ lsof -i tcp:12100
COMMAND  PID USER   FD   TYPE   DEVICE SIZE/OFF NODE NAME
sshd    9441   mm   10u  IPv4 97973129      0t0  TCP localhost:12100 (LISTEN)

绑定0.0.0.0后

$ lsof -i tcp:12100
COMMAND   PID USER   FD   TYPE   DEVICE SIZE/OFF NODE NAME
sshd    11704   mm   10u  IPv4 97993035      0t0  TCP *:12100 (LISTEN)
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值