自動設定好Raspberry Pi OS的使用者帳號和密碼

自動設定好Raspberry Pi OS的使用者帳號和密碼

在2022-04-07起發布的Raspberry Pi OS image,已經將以往預設的使用者名稱「pi」和密碼「raspberry」拿掉了, 詳見An update to Raspberry Pi OS Bullseye - Raspberry Pi。如果是實機操作還好辦,因為第一次開機時,就會在螢幕上要求使用者建立使用者名稱、密碼。

對於「無頭」操作,例如透過UART serial console或ssh操作的使用者,可能就不是這麼友善了,雖然也可以事先在Raspberry Pi Imager中設定,不過,若要在Imager中設定使用者名稱、密碼,得要在選擇OS的步驟中,選擇Raspberry OS,若是選擇「Use custom」,Imager則會跳過自訂的步驟。

然而,我個人習慣是會離線保留特定版本的OS Image,以便下次復刻相同的執行環境,的確會在Imager中選擇「Use custom」。因此,要設定使用者,就得模仿Imager的行為了:它設定使用者的機制就是會在/boot分區內,建立一個名為userconf或userconf.txt的文字檔,該文字檔是以username:encrypted-password的格式,紀錄使用者名稱、密碼,第一次開機時會依文字檔紀錄的內容設定使用者。當然,我們也可以不依賴Imager,手動新增一個這樣的文字檔。

其中它的密碼是以SHA-512加密的形式記錄,舉例來說,如果我們要建立一個加密過的密碼「raspberry」,可以用以下指令來產生:

echo "raspberry" | openssl passwd -6 -stdin

然後我們便會得到一串加密過後的「raspberry」,這串加密過的文字每次執行都會不一樣,因為openssl預設使用隨機鹽值(Random Salt)來加密:

$6$w5xuApJwafmnS7jz$04kheN5GorhCO4tHOe3nIM/bU7.9gaqFhrE2Zk4HzGga2Eoxo0xjReePM4P1tMmDHexLSABdrO1kGSD1VO7sl/

接著在/boot分區中新增一個名為userconf.txt空白的文字文件,並在其中輸入下面的文字,
如此以來,就可以在第一次開機時,自動增加使用者名稱「pi」和密碼「raspberry」:

pi:$6$w5xuApJwafmnS7jz$04kheN5GorhCO4tHOe3nIM/bU7.9gaqFhrE2Zk4HzGga2Eoxo0xjReePM4P1tMmDHexLSABdrO1kGSD1VO7sl/

 

留言

這個網誌中的熱門文章

無法被取代的指針型三用電表(一):前言

關於新唐科技NuMicro ISP的介紹和使用方式

科風 BNT-1000AP 黑武士系列不斷電系統開箱拆解、簡易評測及經驗分享