モニタもキーボードもマウスも使わずにRaspberry Piでssh接続をできるようにする


はじめに

Raspberry Piのセットアップには、最低限モニタ、キーボードが必要です。GUIセットアップをする場合はマウスも、Raspberry Pi Zero/Zero Wの場合は変換ケーブルなど、細々と必要な機材が多いです。
CUI、ssh接続で運用するだけであれば、OSイメージを書き込んだSDカードにいくつかファイルを追加することで、sshサーバの有効化、Wifi設定を事前に行い、これら設定が有効な状態で起動させることができます。

用意するもの

  1. Raspberry Pi 3
  2. パソコン(Windows、Mac、LinuxどれでもOK)
  3. sshクライアントソフト(Windowsの場合はTeraTerm、Mac/Linuxの場合はsshコマンドの使用を想定。)
  4. LANケーブル

sshサーバを有効にする

SDカードの起動用パーティションはFAT32形式なので、WindowsやMacでも直接操作することが出来ます。
Windowsならエクスプローラ、MacならFinderでOSイメージを書き込んだSDカードのルートディレクトリを参照し、sshというファイルを作成します。ファイルの中身は空で構いません。

Wifi設定をする

OSイメージを書き込んだSDカードのルートディレクトリに、wpa_supplicant.confというファイルを作成します。

作成したファイルをテキストファイルで開き、以下の内容を入力します。
ssid、pskにそれぞれ、WifiのSSID、パスワードを入力し、保存します。

wpa_supplicant.conf
country=JP
ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev
update_config=1
network={
        ssid="----Your-WiFi-SSID----"     <- WifiのSSIDに変更する
        psk="----PLAIN-PASSPHRASE----"    <- Wifiのパスワードに変更する
}

保存後、Raspberry PiにSDカードを差し込み、PCとRaspberry Piを有線LANで接続してからRaspberry Piの電源を入れます。

有線LAN経由でRaspberry Piにssh接続する

少し待ってRaspberry Piが起動したころあいを見計らって、sshで接続します。
Windowsの方はTeraTermなどのsshクライアント、Macの方はsshコマンドで接続します。設定は下表のとおりです。

設定
接続先 raspberrypi.local
ユーザー名 pi
パスワード raspberry
Macの場合のコマンド
ssh [email protected]
>パスワード入力が求められたら「raspberry」と入力する

[2019/2/17追記]
Windowsから.localに接続するためにはBonjour for Windowsをインストールしてください。iTunes for Windowsに含まれているようなのでiTunesインストール済みの場合はインストール不要です。

IPアドレスを固定にする

Wifi経由でsshで接続するために、Raspberry PiのWifiアダプタに固定IPアドレスを設定します。
固定IPアドレスを設定するには/etc/dhcpcd.confの設定を変更する必要があり、Raspberry Pi上でテキストエディタで書き換える必要があります。
viコマンドで編集しようとおもいましたが、Raspberry Piインストール直後は、本家viコマンドしかインストールしかされておらず、私にとっては使いづらかったため、vimを追加でインストールします。

sudo apt-get install vim

vimのインストールが完了したら、/etc/dhcpcd.confをvimでオープンします。

vi /etc/dhcpcd.conf

dhcpcd.conf内にはIPアドレスを静的に設定する箇所がコメントアウトされています。以下の設定のコメントを解除し、Wifi環境にあわせて設定を変更します。
以下は設定の一例です。

/etc/dhcpcd.conf
# Example static IP configuration:
interface wlan0                         <- コメント解除。無線LANインターフェース名に変更
static ip_address=192.168.1.101/24      <- コメント解除。IPアドレスを指定。
# static ip6_address=XXXXXXXXXXX
static routers=192.168.1.1              <- コメント解除。RouterのIPアドレスを設定。
static domain_name_servers=192.168.1.1  <- コメント解除。RouterのIPアドレスを設定。

/etc/dhcpcd.confを保存後、rebootコマンドでRaspberry Piを再起動します。

sudo reboot

rebootコマンド実行後、ssh接続が切断されたらLANケーブルを外し、Wifi経由で設定した固定IPアドレスでssh接続ができれば成功です。

終わりに

Raspberry Piの初期セットアップの際はさまざま機材が必要で面倒でしたが、この方法ならLANケーブル1本で完結できるので、準備が非常に楽になりました。