SSH接続のためのRaspberry Pi初期設定

スポンサーリンク

はじめに

Raspberry Piの初期設定をするたび、他のサイトを探すのも面倒なので備忘録を残すことにしました。
普段からノートパソコンにディスプレイをつなげて使用しており、Raspberry Piにディスプレイを取られてしまうと使い勝手が悪いため、SSH接続でターミナルからRaspberry Piを動かすことが多いです。SSH接続での使用を想定した設定方法について書き留めます。

動作環境

構成要素内容補足
Raspberry Pi本体Raspberry Pi3B, Raspberry Pi4Bこれらの機器で動作確認済み
Raspberry Pi OSRaspbian Buster with desktop2020/3/12時点最新
パソコンOSmacOS Catalina

Raspberry Piの準備

以降、パソコンとRaspberry Piのターミナルを区別するため、パソコンのターミナルのコマンドプロンプトを Mac$ とし、Raspberry Piのターミナルのコマンドプロンプトは単に $ として表します。

Raspbian OSの準備

ここからRaspbian Buster with desktopのZIPからダウンロードします。

以下のようにZIPファイルを解凍するとimgファイルができるはずです。

Mac$ unzip 2020-02-13-raspbian-buster.zip
Mac$ ls
./                              2020-02-13-raspbian-buster.img
../                             2020-02-13-raspbian-buster.zip

続いてSDカードをフォーマットしていきます。SDカードをパソコンに差し込み(またはSDカードリーダで接続)、以下のコマンドでデバイス名を確認します。

Mac$ diskutil list
/dev/disk0 (internal, physical):
#:                       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 名称未設定 - Data       65.6 GB    disk1s1
2:                APFS Volume Preboot                 83.6 MB    disk1s2
3:                APFS Volume Recovery                526.6 MB   disk1s3
4:                APFS Volume VM                      1.1 GB     disk1s4
5:                APFS Volume Macintosh HD            11.0 GB    disk1s5

/dev/disk2 (external, physical):
#:                       TYPE NAME                    SIZE       IDENTIFIER
0:     FDisk_partition_scheme                        *31.1 GB    disk2
1:             Windows_FAT_32 boot                    268.4 MB   disk2s1
2:                      Linux                         30.8 GB    disk2s2

/dev/disk2にSDカードがマウントされていることがわかったので、マウントを解除してフォーマットします。

Mac$ diskutil unMountDisk /dev/disk2
Unmount of all volumes on disk2 was successful
Mac$ diskutil eraseDisk MS-DOS SD /dev/disk2

SDの箇所はドライブ名であり、適当な名前で良いです(Raspbianイメージ書き込み後は名前が変わるのでここでは仮の名前になります)。
この時点で再度マウントされ、FinderなどでSDというドライブが見えていると思います。
再度マウントを解除してddコマンドでRaspbianイメージをSDカードに書き込みます。
こちらのサイトに従い、rdiskとすること、およびbs=1mとすることで速くなるそうなのでそのようにします。

Mac$ sudo dd if=2020-02-13-raspbian-buster.img of=/dev/rdisk2 bs=1m

これには少し時間がかかるので終了を待ちます。エラー無く終了し、Finderなどでbootというドライブが見えていれば成功です。

Raspberry Piの設定

Raspberry PiにパソコンからSSH接続して使う方法の設定方法を説明します。
初期状態ではSSH接続は有効になっていないので、まずはRaspberry Piにキーボード、マウス、ディスプレイを接続して設定を行います。
Raspberry Piを立ち上げたら、中央に初期設定を促すWindowが出ているので、それに従って設定を行い、パスワードやWifiの設定をします。
Raspberry Piのターミナルを立ち上げ、最新の状態に更新します。

$ sudo apt-get update
$ sudo apt-get upgrade

続いてSSHの設定を行います。

$ sudo raspi-config

5 Interfacing Options→P2 SSHと進み、Yesを選択してSSH接続を有効にします。
続いてIPアドレスを固定にします。これを行わないとSSH接続する際、毎度変わるIPアドレスを調べる必要が生じるためです。
まずは現状のIPアドレスを調べます。

$ ifconfig
...
wlan0: flags=4163  mtu 1500
        inet 192.168.179.11  netmask 255.255.255.0  broadcast 192.168.179.255
...

netmaskの255.255.255.0を2進数で表記した際に1となる部分がネットワークアドレスのため192.168.179.0がネットワークアドレスで、最後の11の部分が機器固有の番号になります。
この機器固有の番号を固定にするために以下のファイルを編集します。

$ sudo vi /etc/dhcpcd.conf

viエディタの使い方がわからない方は、代わりにnanoを使うと画面下にガイドがあって使えると思います。
固有の番号の選び方として以下のルールがあるため、2〜254の好きな値にします。今回は21にしてみました。
0: ネットワークアドレス、そのネットワーク全体を示すときに使われる
1: ルーターのアドレス、基本的にホスト部が 1
255: ブロードキャストアドレス、ホスト部すべてを示すときに使われる
以下の内容を/etc/dhcpcd.confの末尾に書き足します。

interface wlan0
static ip_address=192.168.179.21
static routers=192.168.179.1
static domain_name_servers=192.168.179.1

Raspberry Piを再起動して上で指定したIPアドレスになっていることを確認します。

$ ifconfig

inetが表示されない場合は、IPアドレスが競合したなどの理由でうまくいっていないと思われるので、別のIPアドレスにすると良いでしょう。

ここまでできたら、パソコンからSSHログインできるようになっているはずなので試します。

Mac$ ssh pi@192.168.179.21

SSHログインできたら成功です。
今後はRaspberry Piにディスプレイ、キーボード、マウスをつなげなくても操作できるようになったので、Raspberry PiをShut downしてそれらを取り外し、ディスプレイはパソコンにつなぎます。
Raspberry Piには電源とUSBマイク、スピーカのみつながっている状態で電源を入れ、SSHログインします。

Mac$ ssh pi@192.168.179.21

Raspberry Piをシャットダウンするには以下のコマンドを使います。

$ sudo shutdown -h now

トラブルシューティング

SSHログインできない(1)

ssh接続しようとして以下のエラーが出る場合はSSH許可の設定が正しくできていない、もしくは、固定IPアドレスが正しく設定できていないので、Raspberry Piをスタンドアロンで起動してifconfig、raspi-configや/etc/dhcpcd.confの内容を確認してみてください。

ssh: connect to host 192.168.179.21 port 22: Connection refused

SSHログインできない(2)

以下のようなメッセージが出る場合、設定したIPアドレスが以前別の機器で使っていたなどが考えられます。

@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@    WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED!     @
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@

~/.ssh/known_hostsを削除してからssh接続し直してみてください。

Mac$ rm ~/.ssh/known_hosts
ssh pi@192.168.179.21

参考文献

タイトルとURLをコピーしました