Raspberry Pi開封から無線LAN経由でSSH接続して初期設定するまでのマイ・ウェイ(モニタ・キーボード無し)

  • 211
    いいね
  • 2
    コメント
この記事は最終更新日から1年以上が経過しています。

いまさらですが手元のRaspberry Piが箱のなかで眠ってたので、ちょっといじってみようと思いました。箱から出したら、ケーブル類が一切なかったのでとりあえず用意できる最低限のものを用意して設定に入りました。

用意したもの

  • Raspberry Pi B+
  • microUSBケーブル(エネルギー供給)
  • 有線LANケーブル(ネットワーク接続用)
  • microSD 4G (なかったのでセブン-イレブンで買った。割高...)
  • Macbook Air(セットアップ用)
  • (途中で、無線接続するためにBUFFALO 無線LAN子機 コンパクトモデル 11n技術・11g/b対応 WLI-UC-GNMを利用しますが、初期セットアップでは不要です)

raspi01.jpg

早速、OSを入れていきます。

OSイメージをダウンロード

Raspberry PiのダウンロードページからOSをダウンロードしてきます。ネットに解説の多いRasbianを入れることにしました。

raspi02.png

と、思ったのですがダウンロードに失敗する。

raspi03.png

何度やっても失敗するので、検索して北陸先端科学技術大学院大学のミラーサイトからダウンロードすることにしました

SDカードにOSイメージをセット

解説サイトはいくつかあったのですが、ちょっと迷ったのでここは公式の解説に従うことにします。

Raspberry Pi Documentation

まず、SDカードをMacに差し込み、diskutil listで接続しているディスクの情報を確認します。

$ diskutil list

僕の場合は、/dev/disk4でした。これをdiskutilでアンマウントします。

$ diskutil unmountDisk /dev/disk4

更に、イメージを書き込みます。

$ sudo dd bs=1m if=2014-09-09-wheezy-raspbian.img of=/dev/disk4

dd はファイルの変換とコピーを行うコマンドです。 bs は1度に指定したバイトのブロックを読み書きする。 if は入力ファイル、 of は出力ファイルです。コンソールに何も表示されない状態のまま、50分ほど待ちました。

3125+0 records in
3125+0 records out
3276800000 bytes transferred in 2817.832759 secs (1162880 bytes/sec)

書込みできました!

Rapsbianに接続する

早速、Raspberry piを有線ケーブルでルータにつなぎます。そして、ipを確認します。

ルータから接続している機器のipを探す

RapsbianのIPアドレスを探したくてルータにアクセスしました。

BuffaloのAirStation WZR-HP-G301NH だと、管理画面トップページの「ユーティリティ機能」のところでDHCPで接続している機器を見つけることが出来ました。

raspi04.png

sshでログイン

Rapsbianはsshの初期idが pi 、パスワードが raspberry と設定されているので、それで接続をしてみます。

$ ssh pi@192.168.3.10
pi@raspberrypi ~ $

出来ました!次は、無線LANでSSHを利用できるようにしていきます。

無線LANで接続するための準備

まず、有線LANに接続した状態でRaspberry Piを起動します。そして、無線LANアダプタを接続します。今回は、手頃な価格と利用者も多いことから、BUFFALO 無線LAN子機 コンパクトモデル 11n技術・11g/b対応 WLI-UC-GNMにしました。

下記のコマンドを打ってusbに接続されていることを確認します。

pi@raspberrypi ~ $ lsusb
Bus 001 Device 002: ID 0424:9514 Standard Microsystems Corp.
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 001 Device 003: ID 0424:ec00 Standard Microsystems Corp.
Bus 001 Device 004: ID 0411:01a2 BUFFALO INC. (formerly MelCo., Inc.) WLI-UC-GNM Wireless LAN Adapter [Ralink RT8070]

Raspberry PiのWPAの設定をしていきます。下記のコマンドで設定情報を確認することができます。

pi@raspberrypi ~ $ wpa_passphrase [SSID] [PASSPHRASE]
network={
    ssid="[SSID]"
    #psk="[PASSPHRASE]"
    psk=c505ed74c79f4723e9809c6e167461d588d1e40c20f802590514b95de6ddcb71
}

更に、上記設定を/etc/wpa_supplicant/wpa_supplicant.confというファイルに書き込みます。

pi@raspberrypi ~ $ sudo sh -c "wpa_passphrase [SSID] [PASSPHRASE] >> /etc/wpa_supplicant/wpa_supplicant.conf"
pi@raspberrypi ~ $ sudo cat /etc/wpa_supplicant/wpa_supplicant.conf
network={
    ssid="[SSID]"
    #psk="[PASSPHRASE]"
    psk=c505ed74c79f4723e9809c6e167461d588d1e40c20f802590514b95de6ddcb71
}

無線LAN接続

Raspberry Piの電源を切り、有線LANを外した状態で再度起動します。少し待つと、無線ルーターが新しいIPを割り振っていました。新しいIPを確認したら、そちらにSSH接続してみます。

IPアドレスの確認

$ ssh pi@xxx.xxx.xxx.xxx
pi@raspberrypi ~ $

接続できました〜。

全然、機能積んでないんですが、最小構成で電源ケーブル1つあればRaspberry Piに接続できるので気楽です!

raspi05.jpg

Raspberry Piの初期設定

raspi-configから初期設定する

pi@raspberrypi ~ $ raspi-config

raspi06.png

  • Expand Filesystemを選択する
  • Internationalisation Options > Change Locale > ja_JP.UTF-8で日本語環境に。
  • Internationalisation Options > Change Timezone > Asia > Tokyoで日本時間に。

下記のサイトを参考にしました。Expand Filesystemをやらないと、RasbianがSDメモリを十分に利用してくれないようですです。

パッケージの更新

とりあえず更新しておく。

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

vimの設定

普段はvimを使うことが多いので設定しておきます。

$ sudo apt-get install vim
$ sudo update-alternatives --set editor /usr/bin/vim.tiny

hostnameの変更

下記コマンドでraspberrypiのところを好きな名前に変更するraspi01とか。管理しやすくするためです。

$ sudo vi /etc/hostname
$ sudo vi /etc/hosts

下記コマンドで再起動する。

$ sudo shutdown -r now

SSHのオートログイン設定

Rasbianの.ssh/authorized_keysに公開鍵を書き込んで置くと、秘密鍵を指定してSSH接続した時にパスワード認証が不要になります。これを便利に行う、ssh-copy-idというコマンドがあるので、それを利用して設定を行います。

$ brew install ssh-copy-id
$ ssh-copy-id -i ~/.ssh/id_rsa.pub pi@xxx.xxx.xxx.xxx

SSHの簡易接続設定

Mac側の~/.ssh/configに下記を追記します。先ほどの、オートログイン設定を利用するためにIdentityFileで秘密鍵を指定します。

config
Host pi
  HostName [Raspberry piのIP]
  port 22
  User pi
  Protocol 2
  IdentityFile ~/.ssh/id_rsa

これで、以降は、ssh piでパスワード認証も不要で接続できるようになります。

DHCP環境でもhostnameでアクセスできるようにavahiをインストールする

avahiというツールを使って、DHCP環境でもホスト名でリモート接続ができるようにします。

$ sudo apt-get install avahi-daemon

host名の後に.localをつけてpingを打って設定ができているか確認します。

$ ping raspi01.local
PING raspi01.local (192.168.3.12) 56(84) bytes of data.
64 bytes from raspi01.local (192.168.3.12): icmp_req=1 ttl=64 time=0.183 ms

macから接続してみます。

$ ping raspi01.local
PING raspi01.local (192.168.3.12): 56 data bytes
64 bytes from 192.168.3.12: icmp_seq=0 ttl=64 time=55.977 ms

できました!configも下記のように変えると良いかも。

config
Host raspi01.local
  HostName raspi01.local
  Port 22
  User pi
  Protocol 2
  IdentityFile ~/.ssh/id_rsa

その他参考にしたサイト