autossh 反向代理内网主机

随声附和 提交于 2020-08-06 02:57:21

SSH 反向隧道 内网穿透,AutoSSH自动重连
1. SSH反向隧道
通常家用的宽带没有公网IP,运营商现在都分配的是内网IP。这样,公网上的机器就无法直接访问到内网的机器。

SSH具有建立反向隧道的能力,进行内网穿透,前提是我们有一台有公网IP的机器,假设机器情况如下:

机器    网络    IP    端口
A    公网    114.114.114.114    80
B    内网    192.168.10.1    7777
1.修改公网机器A的SSH配置文件/etc/ssh/sshd_config

GatewayPorts yes
1
这样可以把监听的端口绑定到任意IP 0.0.0.0上,否则只有本机127.0.0.1可以访问。

2.在内网B的机器上执行命令,建立反向隧道
 

autossh -M 7281 -fCNR 8888:0.0.0.0:80 root@111.230.144.247 -p 22622

参数解释:

  • “-M 7281”意思是使用内网主机 A 的 7281 端口监视 SSH 连接状态,连接出问题了会自动重连
  • “ -N”意思是不执行远程命令
  • “-R”意思是将远程主机(公网主机 B)的某个端口转发到本地指定机器的指定端口

 代码解释:

  • “8888:0.0.0.0:80”意思是将内网主机 A 的 80 号端口转发至公网主机 B 的 8888 号端口上
  • “username@xxx.xxx.xxx.xxx”意思是公网主机 B 的用户名和 IP
  • “-p xxxx”意思是公网主机 B 的 SSH 端口,如果是默认的 22 号端口,则可以不输入.

在公网主机是上查看有监听8888端口

[root@kangcw ~]# netstat -antlp |grep LISTEN
tcp        0      0 0.0.0.0:8888            0.0.0.0:*               LISTEN      30979/sshd: root 

直接打开浏览器就可以访问啦

参考

https://blog.csdn.net/upshi/article/details/78630285

https://zhuanlan.zhihu.com/p/112227542

https://blog.csdn.net/weixin_40449300/article/details/90306229

 

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!