ラズパイの初期設定/SSHでリモートアクセス、モニターなし



この記事ではラズパイを「モニターなし」「キーボードなし」で使えるようにするための初期設定方法を紹介する。
ラズパイへのアクセスはリモート操作となるため、SSHの設定も行っていく。

とくにラズパイをIoT製品として使いたい場合は、このリモート操作が必須なため設定しておいて損はないだろう。手順通りに進めれば難しいことはないので、ぜひ参考にしてみてほしい。

なお、SSHのリモート操作はMacのターミナルから行うものとする。
また、ラズパイは Raspberry Pi Zero WH を使ったが、WiFi機能が付いていれば他の好きなラズパイでよい。
Raspberry Pi Zero W - ヘッダー ハンダ付け済み - ラズベリー・パイ ゼロ W ワイヤレス

Amazon





Raspbian OSイメージのダウンロード


まずはラズパイに入れるOSイメージを、こちらからダウンロードしておく。
» Operating system images – Raspberry Pi

今回はモニターを使わないので、CUIのみの軽量な Raspbian Buster Lite を選択する。

ダウンロードしたzipファイルを解凍すると 2019-07-10-raspbian-buster-lite.img のようにOSのイメージファイルが展開されるので、適当な作業ディレクトリへ移しておこう。





MacにSDカードをセットしパスを確認


ラズパイはSDカードに書き込まれたOSを読み取って動作するので、Micro SDカード が必要となる。

今ではSDカードも大容量で安く売られているが、32GB以上あれば十分だろう。
Samsung EVO Plus 32GB microSDHC UHS-I U1 95MB/s Full HD Nintendo Switch動作確認済 MB-MC32GA/ECO 国内正規保証品

Amazon



さきほどダウンロードしたOSイメージをSDカードにを書き込むため、MacにSDカードをセットする。

SDカードをセットしたらターミナルを開き、$ diskutilコマンドでSDカードの場所を確認しておく。

$ diskutil list
/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カードになっているようだ。
このパスを覚えておく。

  • 人それぞれSDカードの場所は異なる可能性があるので注意が必要!
  • 間違ったパスで進めてしまうと、最悪Macのディスクも消去しかねないので慎重に!






SDカードにOSイメージを書き込む


SDカードにOSイメージを書き込むためには、ddコマンドを使う。

そのためSDカードをMacに挿した状態で、いったんアンマウントする必要がある。

次のコマンドを実行してアンマウントしよう。/dev/disk2 のパスは各自SDカードのパスに変えること。また、アンマウントしてもSDカードはそのまま挿しておく。
$ diskutil unmountDisk /dev/disk2


次に、OSイメージを書き込むためddコマンドを実行する。
$ sudo dd if=2019-07-10-raspbian-buster-lite.img of=/dev/rdisk2 bs=1m


bs=1mをつけることで100速く書き込む事ができるようだ。

また書き込みには時間がかかるため、進捗状況を確認したい場合は Ctrl + T を押してみよう。
ちなみに私の環境では、2分程度で書き込みが完了した。





ラズパイ起動時にSSHデーモンも起動する設定


OSイメージが書き込めたところで、今度はラズパイ起動時にSSHデーモンを起動する設定をしよう。

MacにSDカードを挿したまま、SDカードのディレクトリへ移動する。
さきほどのパス /dev/disk2 ではなく、 /Volumes/boot/ がSDカードのディレクトリとなっているので注意。

$ cd /Volumes/boot/


次に $ touch ssh を実行して空の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のSSIDWiFiのパスワード は自分のWiFi環境のものに書き換えること。
(今後WiFi環境が変わった場合でも、この wpa_supplicant.conf を書き換えればよい。)


以上でMacから書き込むSDカードの設定はおわりとなる。

Macのターミナルを終了させて、SDカードを安全に取りだそう。
次からはいよいよラズパイを起動していく。






ラズパイを起動してSSHでアクセスしてみよう!


ラズパイにさきほどのSDカードを差し込み、ラズパイの PWR IN の端子にUSBなどで5Vを供給しよう。

設定がうまくできていれば、自動でWiFi接続されるはずだ。
WiFi接続できているかどうかを確認するには、ルーターの管理画面にログインする必要がある。
また、SSHでアクセスするために初回はIPアドレスが必要となるので、それもルーターの管理画面で確認しておく。

ルーターの管理画面は人それぞれ違うので、詳しい説明は省略するが、たとえば私の環境では次のようになっていた。

IPアドレス ホスト名
192.168.100.145 raspberrypi


またラズパイのログインの初期設定は次のようになっている。

ユーザー名 パスワード
pi raspberry


以上の情報を元に、SSHでラズパイへでログインしてみよう。

再びMacのターミナルを開き、次のコマンドを実行する。
$ ssh pi@192.168.100.145


聞かれるパスワードには、raspberry と入力する。


するとターミナル表示が次のように変わるはず。
pi@raspberrypi:~ $ pwd
/home/pi


これで、ラズパイにSSHでアクセスできた。

SSHのリモート操作を終了したいときは exit すればログアウトされる。
ラズパイの電源はそのまま抜いて良い。


また、今後のためにパスワードを変えておくことをオススメする。
パスワードは次のようにして変えることができる。
$ sudo passwd pi


以上で、「ラズパイの初期設定/SSHでリモートアクセス」の説明は終わりとなる。
ただしこのままだと不便なことがいくつかあるので、余裕のある人はさらに続きを読み進めてもらいたい。

写真や図解でよくわかる ラズパイZeroを使い倒す本 Raspberry Pi Zero/Zero W対応

本書ではRaspberry Pi Zero / Zero Wの概要から必要な周辺機器の説明、OSの導入やセットアップなどといった準備、そしてLinuxに初めて触れる人に向けてLinuxの基礎やシェルの操作などを解説しています。また、準備が整ったら実際に電子部品をRaspberry Pi Zero / Zero Wで制御する方法も解説しました。

KindleAmazon

Raspberry Pi ZeroによるIoT入門- Zero W 対応

本書は、大人から子供まで、初心者の方でも、ラズパイZeroとラズパイZero WをIoTのデバイスとして使いこなせるようになることを目的とした入門書です。また、ラズパイZeroとラズパイZero WをUSBケーブル1本でパソコンに接続できる便利な「Zero over USB」について、日本で初めて詳しく解説しました。

Amazon




【おまけ1】Vimで矢印キーが使えない


ラズパイに最初から入っているVimは vim-tiny という最小構成版のようで、矢印キーが効かなくなっている。

Vimを再インストールすることで矢印キーが使えるようになるので、現在のVimをいったんアンインストールし再インストールしておこう。

$ sudo apt-get --purge remove vim-common vim-tiny
$ sudo apt-get install vim



【おまけ2】ホスト名の変更


sshでログインする時に、毎回IPアドレスでログインするのは面倒だろう。

そこでホスト名でアクセスできるようにしていく。


まずはラズパイに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       2 #←ここを書き換えた


2というのがラズパイのホスト名だ。一文字だがこれでも立派なホスト名になる。

そして次に $ sudo vi /etc/hostname を実行し、記載されているホスト名を上記と同じものに合わせておく。

$ sudo reboot でラズパイを再起動すれば完了だ。

先ほど設定したホスト名でログインしてみよう。

Macのターミナルから次のようにSSHを実行する。
$ ssh pi@2.local


(ホスト名に続けて .local をつけることを忘れないように!)





【おまけ3】サンプルプログラムを覗いてみよう


ラズパイには面白そうなサンプルプログラムがいくつか用意されている。
ラズパイへログインして $ cd /opt/vc/src/hello_pi で移動し、中身をのぞいてみよう。

ただしバリバリC言語なので、あくまでも参考に。



あなたにおすすめ