はじめに
Raspberry PiのLite版OSでCLIからWiFiに接続する設定方法を残します。
OSインストール後、SSH接続できずに手間取ったため、記録を残します。
根本の原因は国コードが設定できておらず、日本の電波を上手くキャッチできていなかったことでした。
経緯は、
Lite版OSをImagerを使ってインストールし、その際カスタマイズでSSHの有効化などの設定も行いました。
最初のラズパイ起動時からSSH接続を試すもSSH接続ができず、arp -aでネットワーク内の機器一覧を確認しましたが、ラズパイらしき接続がありませんでした。再度OS書き込みから行いましたが同じでした。
仕方なく、ディスプレイとキーボードを繋げたところ初期設定から始まったため、カスタマイズが反映されていなかったことが判明しました。
CLIでSSHやWiFiの設定を行なった内容の記録です。
raspi-configで設定
まず普通に設定できれば楽なので、sudo raspi-configでSSHの有効化とWiFi設定を行います。
sudo raspi-config
まずSSHの有効化をお行います。
初めに3 Interface Optionsを選択します。
次にI1 SSHを選択します。
これでSSHの有効化は完了です。
次にWiFiの設定です。
1 System Optionsを選択します。
次にS1 Wireless LANを選択します。
そして、使用したいWiFiのSSIDとパスワードを入力します。
ここでthere was an error runnning option S1 wireless LAN と表示された場合は次のnmtuiで設定するを試してみて下さい。
there was an error runnning option S1 wireless LAN エラーはRaspberry Pi OS(特に最新の Bookworm バージョン)でよく発生するようです。
原因は、OSのネットワーク管理システムが新しい方式に切り替わったため、古い方式を前提としている raspi-config の一部のメニューがうまく動作しなくなっているらしいです。
ここで上手くいった場合は、WiFiの設定は完了です。IPアドレスの確認を行います。
nmtuiで設定する
nmtui とは、raspi-config のようにGUIのような感覚で使えるWiFi設定のインターフェイスです。
次のコマンドを実行します。
sudo nmtui
1.Activate a connection を選択して Enter を押します。
2.Wi-Fi一覧が表示されるので、自分のSSIDを選んで Enter を押し、パスワードを入力します。 接続に成功すると、SSID の左側に星マーク * がつきます。
3.Quit を選んで Enter で終了します。
WiFi一覧が表示されない場合は、次の nmcliで設定するを試して下さい。
nmcliで設定する
raspi-config で接続できない場合は、 nmcliで設定します。
nmcli とは「Network Manager Command Line Interface」の略で、Linuxのネットワーク設定をコマンドラインから操るためのツールです。
まず、次のコマンドでWiFiチップの電源状態を確認します。
nmcli radio wifi
ここで enabled と出れば正常です。
disabled と出た場合は、次のコマンドでオンにします。
nmcli radio wifi on
設定ミスやOSの仕様で、勝手に disabled (WiFi機能がオフ)になっていることがあります。その場合、いくらパスワードを入れても「エラー」と言われ続けるので、まずここが enabled かを確認する必要があります。
また、Wi-Fiが不安定なとき、一度 off にしてから on にするのは、スマホを再起動するのと同じくらい効果的なトラブルシューティングです。
次に、デバイスが認識されているか確認します。
nmcli device
次のような表示が出ます。

※写真はWiFi接続が終わった時の状態なので、少し違うはずです。
DEVICE の欄に wlan0 があり、STATE が unavailable や disconnected になっているか確認します。
もし wlan0 自体が表示されない場合は、OSの書き込みが根本的に失敗しているか、電源不足でチップが動いていません。
PCなどからUSBで電源を取っている場合は、電源を変更してみて下さい。
そうでない場合は、OSインストールからやり直すことをお勧めします。
次のコマンドで周囲のWiFiを強制的にスキャンします。
nmcli device wifi list
①か②に進みます。
①SSIDが表示される場合は、次のコマンドで直接接続します。
sudo nmcli device wifi connect "接続するSSID" password "接続先のパスワード"
Device 'wlan0' successfully activated と表示されたら成功です。
②SSIDが表示されていない場合は、次のコマンドで国コードを設定します。
sudo raspi-config nonint do_wifi_country JP
これを実行した後、 sudo reboot で再起動してから、もう一度 nmcli device wifi list で周囲のWiFiをスキャンしてみて下さい。
それでも表示されない場合は、次のコマンドを試してみて下さい。
sudo nmcli device wifi rescan
※SSH接続後の他のWiFiを探す時にも使えます。
リストが表示されれば、sudo raspi-config や sudo nmtui から設定するか、①のコマンドでWiFiに接続します。
nmcli device を実行します。
次のようにwlan0 の横が connectedになっていればWiFiへの接続完了です。

IPアドレスの確認
WiFiに接続できたら、次のコマンドでIPアドレスを確認します。
hostname -I
192.168.10.105 のような数字が表示されるので、これを控えます。
PCからSSH接続
PCから次のコマンドでSSH接続を行います。
ssh <ユーザー名>@<メモしたIPアドレス>
.localで接続する場合はこちら
ssh <ユーザー名>@raspberrypi.local
Are you sure you want to continue connecting (yes/no/[fingerprint])?
と表示が出れば成功です。 yes と打って、パスワードを入力したら接続できます。
WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED!
と表示された場合、過去の接続履歴が邪魔をしています。
SSHはセキュリティ上、一度接続した相手の「ホストキー」をPCの中に保存します。
「住所は同じなのに、中身が違う!なりすましかもしれない!」と親切に警告してくれているだけです。
上記のエラーの場合は、次のコマンドで記録をリセットしてあげます。
ssh-keygen -R <メモしたIPアドレス>
.local の場合はこちら
ssh-keygen -R raspberrypi.local
この後もう一度、SSH接続を行うと Are you sure you want to continue connecting (yes/no/[fingerprint])?
と表示されるはずです。 yes と打って、パスワードを入力したら接続できます。
最後に
SSHについて調べる中で、WiFiの設定について学べました。
まだ知らないことが沢山あるので、これからも学んでいきたいと感じました。




