Linux
SSH
RaspberryPi
raspbian

Raspberry Pi をディスプレイ/キーボードなしで初期設定する

More than 1 year has passed since last update.

タイトルは少し誤解を招く表現かもしれませんので、まずはかんたんに補足します。ここでのディスプレイとキーボードはRaspberry Pi 用のHDMIディスプレイとUSBキーボードのことを指しています。


背景と概要

Raspberry Pi(以下RPi) をセットアップするとき、SDカードにイメージを焼き込んだあと、HDMIディスプレイとUSBキーボードを RPi に直接接続して色々と設定します。

SSHの接続設定とIPを固定しさえすれば、ネットワーク経由でSSH接続できるので、そのためだけにディスプレイとキーボードはもったいない!!どうにかできないか!!

この記事では専用のディスプレイとキーボードを使わずに、


  • SSHの設定

  • IPアドレスを知らなくても接続できる方法

を紹介します。


環境

Windows 7

Raspberry Pi 3

Raspbian Jessie Lite (Version: April 2017)


Raspbian のイメージSD作成

まずは、micro SD カードに Raspbian のイメージを書き込みます。今回は Raspbian Jessie Lite と言うGUIの無いOSイメージを使いました。GUIが含まれる Raspbian Jessie with PIXEL でも手順は変わらないと思います。

イメージのダウンロードはこちらから。

Download Raspbian for Raspberry Pi

イメージSDの作成は公式の手順に則って行います。

Installing operating system images - Raspberry Pi Documentation

手順を簡単に書くと、


  1. イメージのダウンロード・展開


  2. Etcher のダウンロードとインストール

  3. SDカードをPCに挿入

  4. Etcher を起動し、書き込むイメージファイル(.img)を選択

  5. 書き込むSDカードを選択

  6. 'Flash!' ボタンをクリック

しばらく待ったら、完了です。私の環境ではSDカードは終了後SDカードは自動でアンマウントされました。

今回は Windows でEtcher と言うソフトを使って書き込みをしましたが、もちろん Linux で dd コマンドなどでの書き込みも可能です。

Installing operating system images on Linux - Raspberry Pi Documentation


SSH の自動起動設定

さて、一つ目の本題、SSH の自動起動設定です。デフォルトでは sshd は自動起動しないようなので、設定が必要です。

方法は簡単。


  1. SDカードを PC に挿入

  2. トップディレクトリに "ssh" という名前の空ファイルを作成

  3. SDカードを PC から取り出して、RPi 挿入。EtherケーブルでPCとネットワーク接続。電源ON。

以下のページを参考にしました。

SSH (Secure Shell) - Raspberry Pi Documentation



  1. Enable SSH on a headless Raspberry Pi

For headless setup, SSH can be enabled by placing a file named ssh, without any extension, onto the boot partition of the SD card. When the Pi boots, it looks for the ssh file. If it is found, SSH is enabled, and the file is deleted. The content of the file does not matter: it could contain text, or nothing at all.



固定IP設定せずにSSH接続を行う

先程の操作で、SSHを自動起動させることはできました。しかし、IPアドレスが分からないためSSH接続ができません。そこで、以下の方法を取ります。



  1. Bonjour Print Services for Windows もしくは iTunes をダウンロード・インストール

  2. SSHクライアント(Tera Term など) を使ってSSH接続

接続情報

ホスト名(IPアドレスの代わり)
raspberrypi.local

ユーザー名
pi

パスワード
raspberry

Linux の場合は avahi をインストールしてください。MacOSの場合は特に何も入れなくても大丈夫です。

Raspbian のデフォルトユーザー名とパスワードは以下に記載あり。

Linux users - Raspberry Pi Documentation


User management in Raspbian is done on the command line. The default user is pi, and the password is raspberry. You can add users and change each user's password.



なぜIPアドレス無しでアクセスできるのか

後日まとめる予定。すみません。

Zero Config とか、Avahi, Bonjour のこととか。


まとめ

Rpi の設定にはディスプレイとキーボードが必須だと思っていたのですが、思いの外簡単に設定できました。

Avahi や Bonjour についてはまだまだ知識不足なので、引き続き調査を続けていきたいと思います。