公网服务器一台,以6.6.6.6为例
内网服务器若干台
系统Centos 7.6
1.下载autossh(持久化链接)
编译./configure
安装make && make install
2.配置免密(断链自动重连)
内网主机执行
ssh-keygen
在~/.ssh目录中会生成公钥文件和私钥文件 id_rsa id_rsa.pub
复制公钥到公网主机中
scp -P 48888 id_rsa.pub root@6.6.6.6:~/.ssh
在远程主机中把文件导入到认证文件中
在~/.ssh目录中cat id_rsa.pub >> authorized_keys
3.开始内网穿透
autossh -M 20115 -NfR 30004:localhost:80 root@6.6.6.6 -p48888
20115为持久化链接的监听端口(每一次尽量多间隔些端口,比如20115,20125,20135)
30004为需要公网暴漏的端口
localhost:80为访问公网暴漏端口映射到内网的服务器的地址和端口
48888为公网主机的ssh端口
4.验证
内网和公网服务器分别执行netstat -antp即可看到端口是否开启
示例暴漏的是内网的nginx,可以直接用浏览器访问6.6.6.6:30004来访问测试
(如果是暴漏的ssh,可以直接用终端连接6.6.6.6的30004端口。同理MySQL等其他资源都可以。只要有一台内网的服务器和公网的服务器权限就可以随意暴漏内网资源到公网中,通常用域控制器来防住此类行为)