技術メモ

Scala,React Nativaなどの技術メモ

USBキーボードを一切使わずにRaspberry Pi に SSH 接続

タオルは3枚をヘビーローテーションして生活しているミニマリスト。好きな言葉は"在庫はコストだ"。最近、ミニマリストの面白い本を読んだ。オフ会に行ってみたいなと思ったりしている。

Raspberry PiのためにUSBキーボード買うくらいなら、タオル増やすよって感じなので、RasPiの操作は当然SSH接続。ネットワーク上にRasPiを発見できずに2時間も費やしてしまった(2週間ぶり2度目)ので、さすがに備忘録として残しておく。

必要なもの

※No.6のLANからUSBへの変換器は、No.2のSSH接続用の端末自体にLANケーブルが挿せれば必要ない。

No. 名称 値段
1 Raspberry Pi 5000円
2 SSH接続用の端末
(ここではMacBook Pro Retina, 13-inch, Mid 2014, OS 10.10.5)
-
3 LANケーブル 500円
4 USB電源 500円
5 microSDカード 1000円
6 LANからUSBへの変換器 1000円

ケーブル類配線

  • コンセントとRasPiをUSB電源で接続
  • RasPiにLANケーブルを挿して、LANからUSBへの変換器で(または直接)SSH接続用端末に接続

SSH接続用端末側のNICIPアドレスを確認

shellでifconfigを叩くとズラズラっとでてくるのでen0以外のen〜のinetを確認する。 どれに該当するかは、LANケーブルを外した時に消えてなくなるやつというアナログな方法でも確認できるかと思う。 もしくはシステム環境設定>ネットワーク>USB EthernetIPアドレスを確認する。

不明なRasPi側のNICIPアドレスを確認

SSH端末側のIPアドレスが169.254.110.128でサブネットマスクが255.255.0.0ならば、RasPi側のNICIPアドレスが169.254.〜であることが予測できる。ここでshellでarp -aを叩くと

? (169.254.15.26) at (incomplete) on en0 [ethernet]
? (172.20.10.1) at 72:72:72:72:72:72 on en0 ifscope [ethernet]
? (172.20.10.2) at 72:72:72:72:72:72 on en0 ifscope permanent [ethernet]

という結果が得られ、これより169.254.15.26がRasPi側NICIPアドレスであることがわかる。

RasPiにSSH接続

ssh pi@169.254.15.26

デフォルトのパスワードであるraspberryを入力してログイン。

その他

SSH接続用の端末側のNICIPアドレスは固定にする必要はなかった。 RasPi側で何かをinstallするとraspberrypi.localで名前解決できるようになる。 つまり、

ssh pi@raspberrypi.local

SSH接続できるようになる。

sudo apt-get install avahi-daemon

をすればできるようになるとの記述もあるがこれじゃなかった気がする。

arp -aってしたときに表示されるARP entryの表記の正確なリファレンスが欲しかったのだけど見つけられなかった。Mac OS XFreeBSDをベースにしてるってはなしから、FreeBSDのリファレンスを見るんだけどどうもarpのオプションが何とかコマンドの使い方しか見あたらない。 こういうときどんな英語で調べるべきなんだろう。ちなみにunix arp entry formatとかで調べたんだけど。英語力がまだまだってことかな。