はじめに
RaspberryPi Zero Wにディスプレイやキーボードとかつないでセットアップするのが面倒なので、電源だけを接続しただけでwifi経由でssh接続できるようになる方法を探していました。
PiBakeryを試してみたらうまくいったので、記録を残しておきます。
使用機材
- MacBook Air (13-inch, Mid 2011)
- macOS High Sierra 10.13.6
- RaspberryPi Zero W
- PiBakery 0.3.8(最新版にアップデート後)
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などの鍵の形式からアカウント名まですべてコピー&ペーストします。
手順
- PiBakeryをPCにインストールします
- PiBakeryを起動して最新版にアップデートします。
- PiBakeryでRaspberryPi Zero Wの起動設定を作成します。設定例
- PiBakeryで起動設定をSDカードに書き込みます。
- SDカードをPCから外してRaspberryPi Zero Wに差し込みます。
- RaspberryPi Zero Wを電源に接続します。
- RaspberryPi Zero Wのアクセスランプが消灯するまで待ちます。(けっこう時間がかかります)
- RaspberryPi Zero Wのアクセスランプが消灯したら、電源をつなぎ直します。
- sshで設定したRaspberryPi Zero Wに接続します。
- 設定したホスト名に「.local」を追加したホスト名でアクセスします。
ssh pi@raspberrypi.local
sshでRaspberryPiに接続できたらやること
- raspi-configでロケールやタイムゾーンを設定します。
- raspi-configでOSを最新版に更新します。
- sshdの設定を変更して、パスワード認証を無効にし、公開鍵認証にのみ制限します。
sshのパスワード認証をOFFにする
raspberrypi
sudo vi /etc/ssh/sshd_config
次の設定を追加してパスワード認証を無効にする
/etc/ssh/sshd_config
PasswordAuthentication no
設定を変更したあとはsshdをリスタートします。
raspberrypi
sudo systemctl restart ssh