我们讲过通过frp来实现内网穿透
今天我们讲讲通过ssh反向代理来实现内网穿透
A服务器 `47.254.17.153`
B本地机器 `192.168.2.143`
比如我们现在想在公司访问B机器
`反向代理`由B 向A 主动地建立一个SSH 隧道,将A 的10023 端口转发到B 的22 端口上,只要这条隧道不关闭,这个转发就是有效的。有了这个端口转发,只需要访问A 的10023 端口就相当于访问B的22端口。
在B上执行
`root@raspberrypi1G:/home/pi# ssh -fN -R 47.254.17.153:10023:localhost:22 test@47.254.17.153 -p22`
然后我们执行
`ssh -p 10023 userb@47.254.17.153`
隧道可以会断开,我们使用autossh
cat /etc/rc.local
`autossh -M 10900 -fN -o "PubkeyAuthentication=yes" -o "StrictHostKeyChecking=false" -o "PasswordAuthentication=no" -o "ServerAliveInterval 60" -o "ServerAliveCountMax 3" -R 47.254.17.153:10023:localhost:22 test@47.254.17.153 -p22`
-f 后台执行ssh指令
-C 允许压缩数据
-N 不执行远程指令
-R 将远程主机(服务器)的某个端口转发到本地端指定机器的指定端口
-L 将本地机(客户机)的某个端口转发到远端指定机器的指定端口
-p 指定远程主机的端口