注:作者居住在韩国,部分内容包含韩国特有的背景。
折腾树莓派或者家庭服务器时,意外(?)地经常需要把服务器初始化重来。
可能是因为设置错了导致某些东西跑不起来,或者是装了一堆自己都不记得装过什么的东西。
于是每次重置树莓派后都有一套固定要做的工作,
但问题是每次都是隔了很久才会再初始化一次,等真要做的时候早就忘得差不多了,每次设置都得在Google里翻半天。所以干脆整理在这里。
以下内容基于Raspberry Pi + Ubuntu Server。初始登录密码是 ubuntu。
1. 开启SSH访问
- 拿HDMI线接上、再接键盘真的非常麻烦。
- 在烧录启动盘时,创建一个名为
ssh(无扩展名)的空文件,启动时就会开启SSH访问。(默认是关闭的) - 用网线把树莓派接到路由器上,从路由器管理页面拿到IP后SSH连过去。hostname会是
ubuntu。
2. SSH登录设置
- 为了能用SSH密钥登录,把自己的公钥加到
~/.ssh/authorized_keys文件里。 - 如果没有SSH密钥,可以在Google搜索"SSH 密钥 登录"之类的关键词跟着做!
3. 禁用密码登录
- 如果只在内网开放的树莓派,一般问题不大……但只要有SSH Key,从安全角度建议尽量关掉密码登录。
- 打开
/etc/ssh/sshd_config,设置PasswordAuthentication no。 - 再打开
/etc/ssh/sshd_config.d/50-cloud-init.conf,同样设置PasswordAuthentication no。 - 然后用
sudo systemctl reload sshd重启SSH服务。
4. 连接Wi-Fi(可选)
- 如果一直用网线就可以跳过。我嫌网线让房间显得乱,所以会设置一下Wi-Fi。
- 打开
/etc/netplan/50-cloud-init.yaml文件。(没有的话就新建。) - 把下面的文件复制粘贴进去。下面的配置文件是SSID(Wi-Fi名称) = lemon、密码为 lemon1234 的示例。
# This file is generated from information provided by the datasource. Changes
# to it will not persist across an instance reboot. To disable cloud-init's
# network configuration capabilities, write a file
# /etc/cloud/cloud.cfg.d/99-disable-network-config.cfg with the following:
# network: {config: disabled}
network:
ethernets:
eth0:
dhcp4: true
optional: true
wifis:
wlan0:
dhcp4: true
optional: true
access-points:
"lemon":
password: "lemon1234"
version: 25. 设置Hostname
- SSH窗口里看不到自己当前在操作哪台机器会让人不太安心……
- 输入
sudo hostnamectl set-hostname <主机名>把hostname也改成容易辨认的名字。
6. 重启
sudo reboot- 通过无线网络重连时内网IP可能会变,连不上的话就看路由器页面更新一下内网IP。

Comments