前言

 
临近双十一前夕,突然想起几年前 Drupal 群里的技术狂热者,玩转树莓派,搜罗了一番知乎文章有哪些对树莓派的有趣改造和扩展应用?和「树莓派」是什么以及普通人怎么玩?,就去了树莓派基金会指定的中国区旗舰店购买了一个裸机(以为双十一会掉价便宜,发现并没)
建议:购买套装(外壳和风扇必选,不然容易损坏、太容易发热)
 

开机

 
打开包装后着实被体积给惊呆了,太袖珍了。
在官网下载了桌面版的镜像(Raspberry Pi Desktop (for PC and Mac))因为很好奇这小东西能有桌面版,不过我没装成功,写好镜像后一直停留在开机界面,最后放弃了,选择了(RASPBIAN STRETCH LITE)。
我直接使用的 WiFi 联网,教程很多,建议参考树莓派Raspberry命令行配置无线网络连接这里只提一点(sudo iwlist wlan0 scan 扫描的时候,建议 输出重定向一个 wifi.log 文件里,不然周围太多WiFi信号的时候,比较难找到自己家的WiFi
神奇的树莓派+frp 随时随地变身服务器_第1张图片
 

修改默认 ssh 密码

 
树莓派的 ssh 登录密码, 默认用户名是: pi , 默认密码是: raspberry 要第一时间修改下.

passwd

 

设置 ssh 自动登录

 
树莓派默认没有目录 .ssh ,需要先创建下.需要ssh登录到树莓派之后,在派中执行:

mkdir ~/.ssh/

在任意一台想要访问树莓派的电脑中,直接执行(而不是登录到树莓派后执行):

# 设置自动登录.
cat ~/.ssh/id_rsa.pub | ssh pi@树莓派内网ip  "cat >>  ~/.ssh/authorized_keys"

树莓派内网ip 要换为树莓派的内网ip.当然,也需要你用来访问树莓派的电脑和树莓派处于同一局域网.
 

修改 root 密码

 
树莓派默认没有 root 密码,直接设置即可(其实不建议折腾 root 用户,sudo 即可了).

# 设置 root 密码
sudo passwd root

# 解锁 root 账户
sudo passwd --unlock root

# 切换到 root 账户
su root

 

解决树莓派容量使用不完全问题

 
我是 64G 的内存卡,但是看容器总共只有 7.2G.第一反应是遇到了黑心商家,但是网上搜了下,简单设置重启即可.详见: http://cedar-renjun.github.io/2015/10/11/resize-raspberry-sd-volume/

此处引用记录下关键步骤,以供查阅:

操作步骤 
1.重新树莓派,进入命令行页面 
2.登陆树莓派,用户名 pi,密码 raspberry 
3. sudo su 
切换至超级用户 
4. df -h 
显示出当前分区的状态和使用率 
5. 输入 fdisk /dev/mmcblk0 加载SD卡 
6. p 打印当前分区 
你应该会看到三个分区(mmcblk0, mmcblk0p1, mmcblk0p2),现在把分区2的信息写下来(/dev/mmcblk0p2) 
我主要记录了开始扇区(122880)和结束扇区(8447999)的数值 
7.按 d 开始删除分区 
8. 系统提示输入删除分区号,输入 2 
9. 按 n 新建分区,然后依次输入 p, 2 
10. 接下来输入原来记录的2扇区开始号(122880),记得替换成你自己的数字 
11. 按 w 保持配置 
12. 输入 reboot 重启树莓派 
13. 输入 sudo resize2fs /dev/mmcblk0p2 更新系统 
14. 输入 df -h 看看,是不是已经完全使用了剩余空间

注意:在第 10 步之后,系统提示让输入结束扇区时,直接保持默认回车即可.

 

配置 frp

 

准备公网 ip 和公网服务器

公网ip和公网服务器,类似于一个桥梁.我们通过它将可以访问我们放置在内网的树莓派.服务器,我是正好利用以前搭×××买来的vps.当然,用自己已有的ip和服务器也可以.
 

可选: 准备一个域名(若想来访问 pi 的 web 服务,域名还是必不可少)

 
顶级域名或二级域名,只要能做 ip 类型的 DNS 解析都可以.这一步,就是简单的把域名解析到前一步的公网 ip 上.这样以后访问会省事些,不用记ip了. 当然,直接用 ip 访问也是可以的.
 

配制 frp 服务器端 – frps

 
frp 的服务器端,一般名字是 frps,配置文件是 frps.ini. 这两个文件要放到你的公网服务器上.一般,你都应去发布页,去寻找 frp 的对应的操作系统的最新下载版本.此处以 frp_0.21.0_linux_386.tar.gz 为例.

# 下载.下载地址可以在github发布页右键点击某个下载项 --> 复制链接地址.
wget https://github.com/fatedier/frp/releases/download/v0.21.0/frp_0.21.0_linux_386.tar.gz

# 解压.
tar -zxvf frp_0.21.0_linux_386.tar.gz

# cd 到 frp 目录.
cd frp_0.21.0_linux_386

# 编辑.debian上,编辑的命令是 vi,此刻 vim 还未安装.
vi frps.ini

 
在 frps.ini 中输入:
 

[common]
bind_port = 7000
vhost_http_port = 8080
dashboard_port = 8000
dashboard_user = pi
dashboard_pwd = pipi
privilege_token = pipipi

然后,开启 frps 即可:
 

./frps -c ./frps.ini

 
配置好服务器端后,你应该就可以在浏览中(http://IP:8000/static/#/)打开 frp 的控制台页面了:
神奇的树莓派+frp 随时随地变身服务器_第2张图片

  • dashboard_port_number 改为一个特定的端口号,如8000,如此便可以通过 http://yourip:8000 来访问 frps 的网页控制台页面.
  • dashboard_user_name 和 dashboard_pwd_value,要改为一个自定义的用户名和密码,用于在访问 frps 控制台页面时输入.
  • privilege_token_value 改为一个自定义的值.只要客户端与服务端 privilege_token 匹配时,客户端才能连接到 frp 服务端.
     

    配制 frp 客户端 – 树莓派

     
    frp 的客户端,一般名字是 frpc,配置文件是 frpc.ini. 这两个文件要放到你的内网服务器–树莓派上.一般,你都应去发布页,去寻找 frp 的对应的操作系统的最新下载版本.此处以 frp_0.21.0_linux_arm.tar.gz 为例.

1.下载
wget https://github.com/fatedier/frp/releases/download/v0.21.0/frp_0.21.0_linux_arm.tar.gz

2.解压.
tar -zxvf frp_0.21.0_linux_arm.tar.gz

3.cd 到 frp 目录.
cd frp_0.21.0_linux_arm

4.编辑. debian上,编辑的命令是 vi,此刻 vim 还未安装.
vi frpc.ini

 
在 frpc.ini 中输入:
 

[common]
server_addr = 外网IP
server_port = 7000
privilege_token = pipipi
login_fail_exit = false

[ssh]
type = tcp
local_ip = 127.0.0.1
local_port = 22
remote_port = 6000
// 我这里有访问 web 的需求,才配置域名,若无 请忽略此块
[web]
type = http
local_port = 80
custom_domains = shumeipai.liisli.cn

 
然后,开启 frpc 即可:
 

./frpc -c ./frpc.ini

 
配置好服务器端后,你应该在任意可以连接到互联网的电脑上,使用 ssh 访问自己的树莓派了:
 

# 端口和ip要记得替换为自己的.
ssh -oPort=remote_port_number pi@your_server_ip

我用的 vps 速度挺慢的

 
注意:

  • your_server_ip 要替换为公网服务器上绑定的公网 ip.
  • frps 服务器端与客户端不必是同一操作系统, 但frp 版本最好对应
  • 树莓派3 debian 系统,需要的是 arm 版本的程序安装包.
  • privilege_token 要和服务器端的 frps.ini 中对应
  • login_fail_exit 很重要,否则后面无法实现系统重启时自动启动 frpc 功能.
  • remote_port_number,用来指定通过远程服务器的哪个端口来 ssh 访问树莓派.
     

    开机自启动:

     

    vim /etc/rc.local

     
    在最后面加两行:
     

    nohup /home/pi/frp_0.21.0_linux_arm/frpc -c /home/pi/frp_0.21.0_linux_arm/frpc.ini &
    exit 0

     
    这样就好了~

 

参考文章:
 
借助 frp 随时随地访问自己的树莓派