记一次SSHtunnel使用
适用场景:
需要用外网访问到局域网IP和port的时候使用,如果是域名访问可以通过内网穿透实现,但是如果通过TCP访问IP和port则需要通过SSH 的 tunnel完成
本人使用场景:
开发环境是windows,硬件只能通过外网IP和port连接本地开发服务,所以有了以下方案
设备描述:
开发环境局域网windows系统,代理服务器外网linux系统,还有不确定数量以及信息的硬件若干台
大概步骤如下:
第一步,在本机putty执行下面命令(然后输入对应账号的密码)(如果是windows10则自带SSH,CMD执行就行,不需要使用putty)
例子命令:ssh -N -R 8888:127.0.0.1:8081 root@112.74.xxx.xx
-N:加上就是不进入系统linux系统
8888: 就是开启以及监听 linxu 的端口
112.74.xxx.xx:linux的外网IP
127.0.0.1:本机IP
8081:本机需要代理的端口
然后在linux主机用netstat -lntp | grep 8888 看看8888端口是不是打开了
第二步,登录linux主机,然后执行下面命令(然后输入对应账号的密码)
例子命令:ssh -N -L 0.0.0.0:8887:127.0.0.1:8888 root@127.0.0.1
-N:加上就是不进入系统linux系统
0.0.0.0:代表本机
8887:本机接收其它机器连接的端口
127.0.0.1:本机IP
8888:需要把8887转发到8888
root:linxu用户名
127.0.0.1:本机IP
然后在linux主机用netstat -lntp | grep 8887看看商品是不是打开了
然后在cmd上执行 curl 112.74.186.90:8887,显示如下就说明成功了(如果是http服务可以在浏览器使用112.74.186.90:8887看看能不能访问到服务)
这样就可以通过linux作为一个中间服务器,让外网可以访问到我们局域网的服务,提高开发效率
以上是 记一次SSHtunnel使用 的全部内容, 来源链接: utcz.com/z/517257.html