您的位置:首页 > 运维架构 > 反向代理

利用ssh反向代理从公网访问局域网内的树莓派

2017-01-02 21:09 961 查看

利用ssh反向代理从公网访问局域网内的树莓派

本文参考了这篇文章:https://segmentfault.com/a/1190000002718360

冰雪殿于2015年04月29日发布在segmentfault上,特此感谢

环境

机器ip用户名备注
树莓派局域网:192.168.0.111pi
腾讯云服务器T:T:T:TubuntuT:T:T:T是腾讯给的公网ip

配置

首先在树莓派上配置:

ssh -fCNR 9333:192.168.0.111:22 ubuntu@T.T.T.T


这个的意思是将树莓派上的22端口绑定到云服务器上的9333端口

会要求输入云服务上ubuntu用户的密码

完成后可以在云服务上用
netstat -ale |grep 9333
看到结果:



在云服务上执行:

ssh -fCNL "*:9999:localhost:9333" ubuntu@T:T:T:T


这个的意思是在云服务上建立正向代理,建立本地转法。当外网要连接树莓派时,应当连接云服务器的9999端口,服务器再转发到9333端口

完成后可以在云服务器上用
netstat -ale |grep 9999
看到结果:



在本地使用ssh连接树莓派:

ssh -p 9999 pi@T:T:T:T


连接成功:



ssh连接不稳定性

这种反向代理的方式穿透内网存在不稳定性,具体来说是ssh长时间不操作会退出,尝试设置了ClientAliveInterval和ServerAliveInterval参数也无济于事。

后来考虑花生壳,结果这个东西需要收集很多个人信息、需要付费貌似、而且听名字就感觉有后门。。所以放弃

又尝试了一个免费的ngrok服务器https://ngrok.cc/。貌似被墙了,连上的几率不大,最终决定自己来搭,安全放心又稳定。

搭建过程移步
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息