(Raspberry Pi headless setup SSH service)

树莓派可以刷写完tf卡后不接显示器、键盘、鼠标直接启动安装,英文称之为headless。启动后默认可以通过ssh方式登录机器,默认账号pi/raspberry。这种方式挺方便的,尤其是用树莓派做小型服务器的,就可以直接通过ssh来进行后续操作。这种方法之前大家使用的很多,就是在boot分区直接创建一个文件名叫 ssh 文件,但是2022年4月之后这种方法就没有用了,原因是树莓派基金会取消了默认的”pi”用户名。出于安全原因,目前有一些国家和地区已经立法禁止默认凭据。比如:英国的产品安全和电信基础设施法案 (PSTI)、加利福尼亚的SB-327物联网设备安全法。那么大家怎么才能继续像以前那样刷写完tf卡后直接自动启动ssh服务并能登录上去呢?其实还是和之前类似,只是多了一个新增账号的步骤。整体步骤如下:
1、生成ssh文件
生成 ssh 文件方法和之前的一样
- windows:直接新建个文本文件,名字叫ssh,然后去掉扩展名,保证整个文件的名字就是ssh
- Linux/Mac:touch ssh
2、生成账号文件
生成 userconf.txt 文件,文件格式为:username:password 这里的password是经过加密的,需要用 openssl passwd -6 来生成,你可以用下面的命令一步生成userconf.txt文件
echo "pi:$(echo 'raspberry' | openssl passwd -6 -stdin)" > userconf.txt
这个命令直接就是生成 pi 账号及密码 raspberry ,或者按如下格式更换成你自己需要的账号和密码。
echo "username:$(echo 'password' | openssl passwd -6 -stdin)" > userconf.txt
3、拷贝ssh和userconf.txt文件到boot分区
这样树莓派启动后就可以用预先设置的账号密码ssh到系统里了。另外之前wpa_supplicant.conf文件开启wifi的方法也已经失效了,只有通过有线连接后再打开wifi。