キーボードなしのラズパイをMacで初期設定、SSH環境構築
この記事では「キーボードなし」「モニターなし」「マウスなし」「LANケーブルなし」でRaspberry Pi(ラズパイ)の初期設定する方法をくわしく解説します。SSHでラズパイをリモート操作できるように、Mac上でラズパイの環境構築を行なっていきます。
はじめに
この記事では Raspberry Pi zero WH を使用しましたが、他のラズパイでも基本設定は同じになりますので、ご参考になさってみてください。
ラズパイ本体以外に、この記事で必要な製品、技術は次のとおりです。
- 8GB以上のマイクロSDカード
- ターミナルの操作(Vimなどの基本操作)
- パソコン(Macを使用しました)
以上です。
▼ マイクロSDカードは余裕をみて、32GBのものを選びました。
▼ Vimの操作方法はこの記事で説明いたしません。Vim操作が苦手な方は、一度本などで学んでみると良いかもしれません。Vimの世界はとても深くておもしろいですよ。
▼ また、ラズパイのケースがあるとモチベーションが上がりますので、ケースに収納することをオススメいたします。耐久性も上がり、壊れにくくなります。
3Dプリンタで印刷したRaspberry Pi zero WHケース
初期設定の手順
この記事で行うラズパイの初期設定の手順は、次の3つです。これらの作業はmacOSで行いました。
- Raspberry Pi OS のインストール
- SSHデーモンの自動起動
- WiFiへ自動接続
Raspberry Pi OSのインストール
それではまず、Raspberry Pi OS のインストールを行っていきます。
Raspberry Pi OS イメージのダウンロード
ラズパイの公式ページ へアクセスし、Raspberry Pi OS イメージをダウンロードします。モニターを使わないので、CUIのみの軽量な Raspberry Pi OS Lite をダウンロードしました。
ダウンロードしたzipファイルを解凍すると2019-07-10-raspbian-buster-lite.imgのイメージファイルが展開されますので、これを適当な作業ディレクトリへ移動しておきます。
SDカードのパスを確認
次に、マイクロSDカードへ先ほどのOSイメージファイルを書き込むために、パソコンへSDカードを差し込みます。
SDカードをセットしたらMacのターミナルを開き、$ diskutil listのコマンドを打ってSDカードの場所を確認します。次のようにSSDやSDカードなどのディスク情報が表示されるはずです。
/dev/disk0 (internal):
#: TYPE NAME SIZE IDENTIFIER
0: GUID_partition_scheme 251.0 GB disk0
1: EFI EFI 314.6 MB disk0s1
2: Apple_APFS Container disk1 250.7 GB disk0s2
/dev/disk1 (synthesized):
#: TYPE NAME SIZE IDENTIFIER
0: APFS Container Scheme - +250.7 GB disk1
Physical Store disk0s2
1: APFS Volume Macintosh HD 176.5 GB disk1s1
2: APFS Volume Preboot 46.4 MB disk1s2
3: APFS Volume Recovery 509.7 MB disk1s3
4: APFS Volume VM 2.1 GB disk1s4
/dev/disk2 (external, physical):
#: TYPE NAME SIZE IDENTIFIER
0: FDisk_partition_scheme *31.0 GB disk2
1: Windows_FAT_32 NO NAME 31.0 GB disk2s1
SIZEから判定して/dev/disk2がSDカードの場所のようです。この/dev/disk2をメモしておきます。
SDカードにOSイメージを書き込む
ここでSDカードをパソコンにさしたままの状態で、いったんSDカードをアンマウントしておく必要があります。
次のコマンドを実行してアンマウントします。各自、メモしたSDカードのパスに書き換えてください。また、アンマウントしてもSDカードは抜かないでください。
$ diskutil unmountDisk /dev/disk2
次に、OSイメージを書き込むためのコマンドを実行します。
$ sudo dd if=2019-07-10-raspbian-buster-lite.img of=/dev/rdisk2 bs=1m
bs=1mをつけると、通常の100倍速く書き込むことができるそうです。OSの書き込みには時間がかかります。進捗状況を見たい方は、キーボードのctrl + tを押すと確認できます。ちなみに私の環境では、2分ほどで書き込みが完了しています。
SSHデーモンの自動起動
マイクロSDカードに、Raspberry Pi OS を書き込むことができましたら、次はSSHの設定を行っていきます。
ラズパイ起動時にSSHデーモンを起動させる
SSHでラズパイへリモートアクセスするために、ラズパイ起動時にSSHデーモンも起動させておく必要があります。次の設定を行いましょう。
Macのターミナルで、SDカードのディレクトリへ移動します。この場合、先ほどのパス /dev/disk2ではなく、/Volumes/boot/がSDカードのディレクトリになりますので注意してください。
$ cd /Volumes/boot/
次に $ touch ssh を実行します。これだけでラズパイ起動時にSSHデーモンも起動されます。
WiFiへ自動接続
最後に、ラズパイ起動時に自動でWiFi接続されるように設定しましょう。
先ほどと同様、ターミナルからSDカードのディレクトリ/Volumes/boot/で作業します。$ vi wpa_supplicant.conf コマンドを実行し、次の内容を書き込んでください。
ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev
update_config=1
country=JP
network={
ssid="WiFiのSSID"
psk="WiFiのパスワード"
key_mgmt=WPA-PSK
}
ただし、WiFiのSSID と WiFiのパスワード はご自身のものに書きかえてください。
これでラズパイの初期設定は完了です。お疲れさまでした。
SDカードをパソコンから安全に取り出しましょう。次からは、いよいよSSHでラズパイへアクセスしていきます。
ラズパイへSSH接続
ラズパイへSSHで接続するまでの流れを説明していきます。
SSHへログイン
OSを書き込んだSDカードを、ラズパイに差し込みます。ラズパイの PWR IN の端子にマイクロUSBを差し込み、ラズパイへ5V電源を供給します。先ほどの設定がうまくできていれば、ラズパイ起動後に自動でWiFi接続されているはずです。
ラズパイがWiFiに繋がっているかどうかを確認するために、ルーターの管理画面へログインしました。ルーターの管理画面は各社製品によって違うので、マニュアルをご確認ください。
初期設定のホスト名とIPアドレスは次のようになってました。
IPアドレス | ホスト名 |
---|---|
192.168.100.145 | raspberrypi |
また、ラズパイ初期状態のユーザー設定は、次のように決められています。
ユーザー名 | パスワード |
---|---|
pi | raspberry |
以上の情報を元に、SSHでラズパイへアクセスしてみましょう。問われるパスワードには raspberry と入力すれば大丈夫です。
$ ssh pi@raspberrypi.local
もしホスト名でアクセスできない場合は、調べたIPアドレスを使ってアクセスしてください。
$ ssh pi@192.168.100.145
次のようにシェルが切り替わり、ラズパイへリモートログインできました。
pi@raspberrypi:~ $ pwd
/home/pi
ちなみに、SSH接続を終了したいときは $ exit コマンドを実行してください。
パスワードの変更
今後のために、ラズパイのユーザーパスワードを変えておくことをオススメします。次のコマンドを実行してパスワードを変えます。
$ sudo passwd pi
以上でキーボードなしでのラズパイ初期設定の説明はおわりになります。ただし、このままですと不便なことがありましたので、余裕のある方は引き続き、読みすすめてみてください。
▼ Sambaで共有フォルダを作っておくと便利です。
▼ また、ラズパイのステップアップとして、これらの記事もご参考になさってみてください。
Vimで矢印キーが使えない場合
Raspberry Pi OS に入っているデフォルトVimは、最小構成版のvim-tinyのため矢印キーが効きません。
Vimを再インストールすることで、矢印キーが有効になります、次のコマンドを実行して、Vimを再インストールしておきましょう。
$ sudo apt-get --purge remove vim-common vim-tiny
$ sudo apt-get install vim
ホスト名の変更
SSHでログインする時のホスト名を変更したい場合に、ご参考になさってみてください。とくに、複数台のラズパイをお使いの場合は必要な作業となります。
ラズパイへSSHでログインし、 $ sudo vi /etc/hosts を実行して設定ファイルを編集します。
127.0.0.1 localhost
::1 localhost ip6-localhost ip6-loopback
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters
127.0.1.1 0 #←ここを書き換えた
ここでは 0 がラズパイのホスト名です。たったの一文字ですが、これでも立派なホスト名として使うことができます。みなさんも、お好きな名前をホスト名になさってください。
次に $ sudo vi /etc/hostname を実行して、同様にホスト名を変えておきます。その後、$ sudo reboot でラズパイを再起動すれば新しいホスト名に切り替わります。
$ ssh pi@0.local