Mcuzone 野芯科技

标题: 基于4G LTE模块的树莓派远程SSH连接方案(内网穿透) [打印本页]

作者: Mcuzone_Robin    时间: 2020-3-25 16:40
标题: 基于4G LTE模块的树莓派远程SSH连接方案(内网穿透)
关键词: 树莓派  Raspberry  4G  LTE  华为  Huawei  ME909  移远  EC20  公网服务器  远程连接  远程SSH  MobaXterm  内网穿透
概述:树莓派是一个稳定成熟性价比合理且受创客喜爱的计算平台,在实际应用中有一个比较典型的远程控制需求,只要树莓派能上网,那么可以通过各种方法来进行远程控制,比如MQTT、发送邮件、FTP、远程SSH等。今天我们要演示的是远程SSH连接的方案。

作者: Mcuzone_Robin    时间: 2020-3-25 16:59
所需硬件平台:
1,安装了raspbian完整系统的树莓派平台,理论上全系树莓派都可支持,已经在树莓派zero和4B上验证通过;
2,公网服务器,最好是运行Ubuntu系统,这样无需额外配置即可使用SSH。公网服务器的搭建这里不再赘述,可以购买阿里云或者腾讯云的最低配虚拟主机;


树莓派平台可以通过有线网络、WiFi、4G模块等方式连接入网。对于通过路由器拨号上网的网络环境,不管是用有线网络还是用WiFi网络接入,一般都可以通过设置路由器端口映射进行访问(采用光猫拨号的一般没法映射,如果您有好方法请分享给我们,谢谢),也可以通过本文的方式进行远程SSH连接访问;对于4G LTE方式联网的树莓派,因为运营商分配的并不是可以在公网访问的IP地址,所以只能通过服务器进行中转,也就是本文演示的方法。


本文采用的硬件平台是:
1,树莓派zero,不带WiFi的纯zero版本,便宜,约70RMB;
2,为zero设计的底板,有USB转以太网,3个USB口。底板有USB Type-C接口,可以通过此接口给整个系统供电,也可以通过树莓派zero上的供电MicroUSB口对整个系统供电,由于要在底板USB口上连接4G模块,所以我们建议用底板的USB Type-C接口进行供电;
3,带外壳的USB 4G LTE模块,测试采用电信卡。





作者: Mcuzone_Robin    时间: 2020-3-26 09:59
硬件平台搭建完毕后,确保公网服务器能访问(可以通过域名或者直接ip地址),确保树莓派能上网。服务器端需要开一个可供远程访问的账号,为了安全起见,建议控制一下该账号的权限。

接下来进行配置:
1,PC端使用mobaxterm以服务器端的账号信息远程登陆公网服务器;

2,在树莓派端开启一个命令行控制终端,输入以下命令:
ssh -p 22 -NR xxx.xxx.xxx.xxx:9091:localhost:22 AcountName@xxx.xxx.xxx.xxx
注意:AcountName请用公网服务器的账户名替换,xxx.xxx.xxx.xxx请用公网ip替换,当然如果有域名就以域名替换。在输入该命令后会提示输入密码;

3,回到步骤1的PC端mobaxterm窗口,输入以下命令:
ssh -CNL "*:9092:localhost:9091" AcountName@localhost
注意:AcountName请用公网服务器的账户名替换,同样会提示输入密码;

4,在PC端,再开一个mobaxterm的ssh连接,目标地址填公网服务器,端口是9092,用户名是pi(即树莓派默认的用户名,如果树莓派上有改动,请同步修改)。
提示登录时,输入raspberry 这个密码,也就是树莓派上pi用户的密码,如果树莓派上的用户名和密码有改动,请同步修改。


这样就可以完成内网穿透,从公网登录到pi板子上。
这是即可像本地SSH连接一样查看树莓派上的运行信息、管理文件、运行程序等。下面截图是远程ping包,以确认树莓派是以4G网络连接的。



我们总结一下:
步骤1和步骤3用于从本地连接到公网服务器并进行配置;
步骤2用于树莓派连接服务器并建立转发通道;
步骤4用于本地连接公网服务器的并建立转发通道。
完成步骤1-3后,即可在任意一台可以上网的PC上进行SSH远程控制连接到目标树莓派。

总的流程是:远程的树莓派和本地PC都连接到公网服务器,公网服务器负责在两者之间转发数据。因为SSH的数据流量本身就比较小,所以对服务器的需求很低,最低配的硬件和带宽即可满足多个设备的同时接入。多个pi接入时只需要更换一下端口即可。

如果对虚拟主机不熟悉,我司可提供代为配置的服务,最低配虚拟主机的费用一年仅一两百元即可,对于有远程SSH控制需求的用户还是可以承受的。只要设备不同时远程控制,那么一个最低配的虚拟主机连接几十台树莓派也毫无压力。





作者: Mcuzone_Robin    时间: 2020-3-26 11:31
补充说明一下,Mobaxterm功能非常强大,通过SSH连接上远程树莓派之后,可以进行文件列表浏览、拖拽方式复制文件(从本地到远程树莓派或者从树莓派到本地,速度取决于网速)。


树莓配通过电信4G连接,测试用的公网服务器采用最低配,带宽1Mbps,实际拖拽文件的速度和带宽基本吻合。4G LTE模块的电信速度在30-50Mbps,如果公网服务器带宽选的更大一点就可以进一步提升文件同步速度。

另外,还可以在Mobaxterm下安装x11的app:
sudo apt-get install x11-apps
然后启动:
xcalc
就可以看到透过mobaxterm的x server功能,xcalc启动到了本地的pc界面里。


也可以运行如下命令,启动浏览器:
chromium-browser
不过由于RPi0的性能比较弱,启动时间需要2-3分钟,而且受限于网速,页面刷新也很慢。





作者: fusss    时间: 2020-6-21 17:00
ssh -p 22 -NR xxx.xxx.xxx.xxx:9091:localhost:22 AcountName@xxx.xxx.xxx.xxx 这句的时候输入密码后一直没反应
用的是阿里云的服务器 9091端口是打开的

作者: fusss    时间: 2020-6-21 18:08
fusss 发表于 2020-6-21 17:00
ssh -p 22 -NR xxx.xxx.xxx.xxx:9091:localhost:22 AcountName@xxx.xxx.xxx.xxx 这句的时候输入密码后一直 ...

我觉得应该是我电脑用ssh端口连接 占用了22的端口
作者: Mcuzone_Robin    时间: 2020-6-21 21:52
仔细核对用户名密码、IP地址和端口。
如果还是不行我们可以提供收费配置服务。
作者: Mcuzone_Robin    时间: 2020-6-21 21:54
网络这种东西和配置和环境关系很大,一不小心某个步骤错误或者疏漏都可能导致结果南辕北辙。
步骤就是这么个步骤,自己仔细核对一下参数,特别是确保端口没有被杀毒软件或者防火墙关闭
作者: Mcuzone_Robin    时间: 2020-6-22 08:44
如果问题解决了,也希望能将问题点和解决方法分享给大家,谢谢




欢迎光临 Mcuzone 野芯科技 (http://testbbs.mcuzone.com/) Powered by Discuz! X3.1