2017年3月9日木曜日

RaspberryPi で Avahi-daemon を使ってホスト名で SSH する

概要

RaspberryPi の Jessie という OS のバージョンから Avahi-daemon という Zeroconf 仕様のソフトウェアがインストールされています
これを使うことで同一 LAN 上にいる RaspberryPi にホスト名で SSH ログインできるようになります

環境

  • Raspberry Pi Type B Single Board Computer 512MB
  • Raspbian 8.0 (Jessie)
  • Kernel Version 4.1.7+ #817
  • Python 2.7.9
  • Mac OS X 10.11.3

RaspberryPi 設定確認

Raspbian のバージョンが Jessie であれば特に何の設定をすることなく使うことができます
以下のコマンドで avahi-daemon がインストールされているか確認しましょう

  • dpkg -l | grep avahi

ii avahi-daemon 0.6.31-5

こんな感じになれば OK です

あとは RaspberryPi のホスト名を確認します
デフォルトだと「raspberrypi」になっています

  • hostname

raspberrypi

このホスト名でクライアントの Mac Book のターミナルで接続してみます

Mac から接続してみる

ターミナルを開いて以下のコマンドで SSH 接続します

  • ssh pi@raspberrypi.local

特に RaspberryPi 側の設定変更していないのであれば、これで SSH できるはずです
SSH のポート番号やホスト名を変更している場合は上記だとダメなのでポート名やホスト名を指定してください

また、条件としては同一ネットワークにいなければいけないので、そこも気をつけてください

Mac には Zeroconf 仕様の Bonjour というアプリがデフォルトでインストールされており、これを使って接続を実現しています

最後に

この辺の機能は OS を持っているマイコンボードの特徴かなと思います

DHCP 環境で IP がわからない場合、よく変わる場合には重宝すると思います
どうしても IP で接続したい場合は自分は fping とかを使って同一ネットワーク内で使用されている IP を調べて接続しています

あとは気になったのは同一ネットワーク内に複数の RaspberryPi があった場合にはどうなるのか気になりました
IP が早いマシンに優先的につなぎにいく感じになるのかな、、、
機会があったら試してみたいです

0 件のコメント:

コメントを投稿