地址:
- https://learnku.com/articles/54013
- https://chinsyo.com/2019/08/10/ssh-connect-raspberry-pi-anywhere/
- https://mond.top/raspberrypi/shu-mei-pai-a-li-yun-zhu-ji-frp-nei-wang-chuan-tou/
首先分别查看服务器和树莓派的系统架构。
1 | # Server |
访问FRP的release页面查看对应架构的最新版下载地址,在服务器和树莓派分别下载并解压。
1 | $ mkdir -p app/install & cd app/install |
以上步骤服务器和树莓派一致,上面的示例是针对树莓派3B+的armv7l架构,服务器注意替换为amd64的下载链接。
接下来需要修改配置文件,树莓派配置文件为frpc.ini,服务器配置文件为frps.ini,对应C/S架构中的服务端和客户端。服务器采用默认配置,树莓派将表示服务器地址的x.x.x.x
替换为实际地址。
1 | # frps.ini |
树莓派开放端口
1 | sudo ufw allow 6000 |
接着切换到上面的工作路径/usr/local/frp
,服务端执行./frps -c frps.ini
,树莓派执行./frpc -c ./frpc.ini
。
电脑打开ZSH,或手机打开Termius,ssh -oPort=6000 pi@x.x.x.x
测试我们的连接。注意这里pi代表在树莓派上的用户名,而x.x.x.x代表服务器的IP地址,正常情况下这个时候你会看到熟悉的Linux登录成功提示。
可我没有,转念一想,应该是防火墙的问题。前往腾讯云的控制台,在安全组中添加以下两条:
1 | 0.0.0.0/0 TCP:6000 |
再次测试ssh连接,终于见到了熟悉的Linux登录成功提示。
到此为止已经实现了随时随地SSH连接家中的树莓派,通过下面的命令可以后台运行并记录日志。
1 | # Server |
出于安全考虑,可以在服务器和树莓派的配置文件中增加token字段,服务器和树莓派的token字段需要保持一致。建议生成随机数或伪随机数,我最终采用的是date | md5 | head -c 8
的输出结果。
由于暴躁的我常常出于无法忍受树莓派的噪音而关机,有必要将FRP加入开机启动。
首先创建service:
1 | sudo vi /etc/systemd/system/frpc.service |
服务器和树莓派配置过程相同,服务器只需要将frpc替换为frps即可。
1 | # 刷新服务 |
到这里开机启动也设置完毕了,树莓派远程吃灰的玩法等你开发。:)
me:
1 | ssh -oPort=6000 pi@119.29.177.15 |