利用ssh反向代理从公网访问局域网内的树莓派
2017-01-02 21:09
961 查看
利用ssh反向代理从公网访问局域网内的树莓派
本文参考了这篇文章:https://segmentfault.com/a/1190000002718360由冰雪殿于2015年04月29日发布在segmentfault上,特此感谢
环境
机器 | ip | 用户名 | 备注 |
---|---|---|---|
树莓派 | 局域网:192.168.0.111 | pi | |
腾讯云服务器 | T:T:T:T | ubuntu | T: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/。貌似被墙了,连上的几率不大,最终决定自己来搭,安全放心又稳定。
搭建过程移步:
相关文章推荐
- 利用ssh实现对局域网内机器的访问
- 利用树莓派搭建公网可访问web服务器Nginx
- 利用反向 SSH:服务器访问本地电脑: 不同局域网之间的相互访问
- JAVA获取访问用户的客户端IP(适用于公网与局域网)
- NAT网络映射设置:允许局域网用户访问VMWare内linux的SSH
- linux下如何通过局域网用ssh连接树莓派
- 利用Putty通过ssh端口转发实现FireFox和MSN加密代理访问
- 使用SSH 从外网进入局域网,设置正向代理+反向代理实现
- ssh 使用新法:公网(合法 ip)用户访问内网(私有 ip)服务器(http,ftp,sshd,cvs...),
- chrome+myentunnel 利用ssh做反向代理
- 一个简单的路由映射,让你的树莓派通过SSH外网可访问
- xfire+spring(ssh) 实现wsdl 的公网访问
- ssh 使用新法:公网(合法 ip)用户访问内网(私有 ip)服务器(http,ftp,sshd,cvs...),内网的朋友不妨一看。
- 如何利用固定IP在路由器中设置局域网IP映射到公网上
- debian利用hostname访问局域网机器
- 利用ssh在linux系统之间在局域网内传输文件
- 利用SSH远程连接主控端局域网计算机命令
- ssh 使用新法公网(合法 ip)用户访问内网(私有 ip)服务器(http,ftp,sshd,cvs...),内网的朋友不妨一看[zt]
- 如何在外网中访问自己在另一个局域网中的某个机器(SSH为例)