有線キーボード無しでRaspberry Pi Zeroのセットアップをする(SSH接続、Raspberry Pi Imager)
はじめに
今回は手元に有線キーボードが無かったので、SSH接続でRaspberry Pi Zeroのセットアップをしてみました。
ネット上にあったやり方だと少しずつ異なっていたのですが、私はWindows 10のノートパソコンとRaspberry Pi Zero、SDカードで行っています。
有線キーボードは他の場所で使っていたのですが、予備が必要ですね...
▼以前の記事はこちら
セキュリティについて
余談とはいえ重要な話ですが、セキュリティについて触れておきます。
この記事では検証用にデフォルトのユーザー名やホスト名を使用していますが、セキュリティ的には良くありません。実際に運用する際は、変更するようにしてください。
▼こちらではRaspberry Piのユーザーやパスワードなどの変更方法が書かれていました。
https://monoist.itmedia.co.jp/mn/articles/1912/11/news022.html
▼こちらではRaspberry PiのSSHの保護やファイアウォールについても書かれていました。Make: Japanのページですね。
▼IoT製品でデフォルトのパスワードを使用するのはもちろん危険です。
▼Miraiボットネットの話は有名ですね。IoTデバイスに対するマルウェアの事件です。
https://www.cloudflare.com/ja-jp/learning/ddos/glossary/mirai-botnet
イメージの作成
今回はRaspberry Pi Imager v1.8.5で実行しています。
▼ダウンロードページはこちら
https://www.raspberrypi.com/software
▼Raspberry Pi Imagerを起動します。

▼デバイスはRaspberry Pi Zeroです。

▼Raspberry Pi OS(other)のRaspberry Pi OS Lite(32-bit)を選択しました。


▼ストレージを選択して、次に進みます。

▼OSの設定を編集します。

ここでWi-FiやSSHの設定を行うことができます。設定しなかった場合は起動後に行うことになるのですが、有線キーボードが必要になります。
▼ホスト名、ユーザー名は後で必要になります。SSH接続を行う別のPCと同じWi-Fiを設定してください。

デフォルトのpiやraspberrypiなどの名前だとセキュリティ的には良くないので、適宜変更してください。
▼SSHを有効化します。今回はパスワード認証を使いました。

▼設定が完了したので、はいを選択します。

▼SDカードのデータは完全に削除されますのでご注意ください。

▼終了後、SDカードを取り出します。

SSH接続をする
今回はWindows 10のノートパソコンで接続します。
▼以下の記事が参考になりました。
https://note.com/kaolun_note/n/n58e444dcc38f
Raspberry Pi Zeroに先程のSDカードを挿入して、電源を入れてください。
▼私はこちらの記事で紹介している、PiSugar 3で電源を供給しています。
▼バッテリー付きでコンパクトです。

Windowsのコマンドプロンプトで以下のコマンドを実行します。ユーザー名、ホスト名は適宜変更してください。
ssh pi@raspberrypi.local
Raspberry Pi Zeroの電源を入れてからWi-Fiに繋がるまで時間がかかるので、少々お待ちください。
▼まだWi-Fiに繋がっていない場合は、Could not resolve hostnameというエラーが出ました。

▼接続できると、本当に接続を続けるのか聞かれます。

▼ログインするときのパスワードが聞かれます。

▼無事に接続できました!

なお、同じユーザー名とホスト名で新しくSDカードにOSを書き込んで接続しようとすると、警告が表示されていました。
▼「鍵が異なるのですが、攻撃を受けていませんか」という警告です。新しくOSを書き込んでいるので変わっています。

鍵が保存されているファイルの場所が表示されていたので、以下のフォルダを削除してみました。
C:\\Users\\<ユーザー名>/.ssh
この状態でもう一度SSH接続を試すと、接続できました。
▼いつも通りのRaspberry PiのLinux環境です。


最後に
この後Raspberry Pi ZeroにNode-REDをインストールしてMQTTブローカーを起動したり、OLEDディスプレイに文字を表示したりといった使い方ができました。PiSugar 3のバッテリー管理をするソフトウェアもインストールできたので、コンパクトに使えそうです。
簡単にSSHで接続できたのは良いのですが、やはりセキュリティは気になります。ファイアウォールなどは試してみようと思っています。