本文包括树莓派烧录系统镜像,ssh 免密登录,frp 内网穿透,设置多个密码,移除 ssh 日志等操作。注意不需要网线、键鼠、显示器等。
# 准备工具
- 树莓派电路板
- 8GB 以上的 SD 卡
- 读卡器
- USB 转换器(可选)

# 烧录系统至 SD 卡
-
下载格式化 SD 卡工具:在此链接中下载格式化 SD 卡的工具,安装工具
-
下载镜像:在此位置下载并解压,我选择的是 2023-05-03-raspios-buster-armhf-lite.img.xz
-
下载镜像烧录工具:在此位置下载,安装工具
-
下载的工具截图如下图所示。

将 SD 卡插入到读卡器,读卡器通过 USB 转换器连接至电脑。运行 SDCardFormatterv5_Mac,先对 SD 卡进行格式化。


格式化成功之后,打开烧录系统的 imager 工具。

选择操作系统为刚刚下载好的 img.xz 解压后的 img,选择储存卡为 SD 卡。

在设置中修改主机名,开启 SSH 服务,wifi 密码,用户名密码,时区等。

设置成功后烧录镜像,烧录之后会自动验证。

提示安装成功之后,就可以将 SD 卡拔出,插入到树莓派电路板中了。

# ssh 连接至树莓派
树莓派插上电源,绿灯闪烁时表示系统正常写入。等待写入成功后,搜查树莓派 ip 地址。
可以通过路由器后台查看当前的联网设备有哪些,找到树莓派的 ip。

或者通过烧录镜像时设置的域名直接进行连接。

# 本地化信息修改
默认登录后会出现 -bash: warning: setlocale: LC_ALL: cannot change locale (en_US.UTF-8)
的问题
先将 apt-get 的源更新到最新
sudo apt-get update
sudo apt-get upgrade

使用以下命令更新本地化
sudo apt-get install locales
sudo dpkg-reconfigure locales

如果更新本地化信息没有解决问题,可以尝试手动设置本地化。使用以下命令:
sudo nano /etc/locale.gen

在打开的文件中,将需要的本地化信息(例如 en_US.UTF-8 UTF-8)取消注释,然后保存文件并退出。
接下来,运行以下命令以使更改生效:这将设置所需的本地化并解决警告信息。
sudo locale-gen
sudo update-locale LANG=en_US.UTF-8

再次 ssh 进入树莓派,则不会收到 locale 告警信息了。

# 设置多个 wifi 密码
假如我们换了一个新的 wifi 环境,如果没有配置多个 wifi 密码的能力,我们只能重置 os 重新烧录。可以通过相关的命令多设置一个 wifi 为我们的流量密码。
需要指定设备的使用国。
sudo raspi-config
从菜单中选择本地化选项项目.

然后更改无线国家选项。

选择 " 更改无线国家 / 地区选项。


按 ESC 返回到命令行。
接下来就是生成 psk
1 | 生成 psk |

将生成的以 ASCII 码显示的 psk 复制下来,修改 wifi 信息,保存退出。
1 | 修改默认的网络配置及优先级 |

重启树莓派(reboot 或者电源重启)后,优先级较高的 wifi 将会自动连接,可以通过将手机热点打开,让电脑和树莓派在同一局域网内登录。

当关闭热点后,树莓派又会重新连接到 wifi 上。

# 移除登录的日志
1 | ssh登录消息配置 |

1 | # 重启ssh |

# ssh 免密登录树莓派
- 服务端设置
1 | 生成 ssh 密钥对 |

1 | 重启 ssh 并将公钥导入 |

- 客户端设置
1 | # 获取私钥文件 |

1 | # 免密登录 |

# frp 内网穿透
服务端设置
1 | 下载 frp |

客户端设置
1 | 下载 frp |

本地远程连接树莓派
ssh -p 2224 chentuo@47.102.102.55 -i ~/.ssh/n1h1l157/pi
就到这里