Posted at

PiBakeryを使ってRaspberryPi Zero Wをヘッドレスでセットアップする

More than 1 year has passed since last update.


はじめに

RaspberryPi Zero Wにディスプレイやキーボードとかつないでセットアップするのが面倒なので、電源だけを接続しただけでwifi経由でssh接続できるようになる方法を探していました。

PiBakeryを試してみたらうまくいったので、記録を残しておきます。


使用機材


PiBakeryについて

公式サイト:http://www.pibakery.org/index.html

RaspberryPi用のOSイメージを焼いたSDカードにいろいろ設定すると

初期起動時にsshを有効にできたりするらしいんですが、

それらをまとめて簡単にやってくれるのがPiBakeryです。

書き込めるOSイメージはRaspbianだけです。


設定する項目

今回は初回起動時のみ1回だけ設定すれば良い項目だけ設定します。

パッケージのインストールなどは行わず、wifi経由でのssh接続をメインに設定します。


  • wifi設定

  • ブートオプション,CLI(ログイン必要)

  • ホスト名変更

  • SPIとI2Cを有効化

  • SSHホスト鍵の変更

  • SSH認証キーの登録


設定例

wifiパスワードやssh認証用の公開鍵は自分の環境に合わせて書き換えてください。


注意事項


  • 最後をシャットダウンにしておくと、初回起動時の設定が完了するとアクセスLEDが消灯するのでわかりやすいです。

  • RaspberryPiのモデルによって接続できるwifiの周波数が異なるので注意してください。


    • RaspberryPi 3 Model B+ は2.4Ghzと5GHz(11ac)の両方が使える

    • RaspberryPi 3 Model B は2.4GHzのみ

    • RaspberryPi Zero W は2.4GHzのみ



  • ssh設定のKeyにはsshの公開鍵をそのままコピペします。


    • RaspberryPiの.ssh/authorized_keysに書き込まれるので、ssh-rsaなどの鍵の形式からアカウント名まですべてコピー&ペーストします。




手順


  1. PiBakeryをPCにインストールします

  2. PiBakeryを起動して最新版にアップデートします。

  3. PiBakeryでRaspberryPi Zero Wの起動設定を作成します。設定例

  4. PiBakeryで起動設定をSDカードに書き込みます。

  5. SDカードをPCから外してRaspberryPi Zero Wに差し込みます。

  6. RaspberryPi Zero Wを電源に接続します。

  7. RaspberryPi Zero Wのアクセスランプが消灯するまで待ちます。(けっこう時間がかかります)

  8. RaspberryPi Zero Wのアクセスランプが消灯したら、電源をつなぎ直します。

  9. sshで設定したRaspberryPi Zero Wに接続します。


    1. 設定したホスト名に「.local」を追加したホスト名でアクセスします。

    2. ​ssh pi@raspberrypi.local




sshでRaspberryPiに接続できたらやること


  1. raspi-configでロケールやタイムゾーンを設定します。

  2. raspi-configでOSを最新版に更新します。

  3. sshdの設定を変更して、パスワード認証を無効にし、公開鍵認証にのみ制限します。


sshのパスワード認証をOFFにする


raspberrypi

sudo vi /etc/ssh/sshd_config


次の設定を追加してパスワード認証を無効にする


/etc/ssh/sshd_config

PasswordAuthentication no


設定を変更したあとはsshdをリスタートします。


raspberrypi

sudo systemctl restart ssh