记一次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

回到顶部