[Raspberry Pi 3] mac の bluetooth によるインターネット共有を使ってルータがなくても SSH する

  • 5
    いいね
  • 0
    コメント

有線でつなぐ例は比較的見つかるんですが Thunderbolt の Ethernet アダプタを持ってないわけです。

そのくらい買いなよという意見はごもっともなのですが、正直ラズパイつなぐ以外に使いみちが浮かばないのでなんかもったいないなーというのと、 Bluetooth あるんだからそっちでできるはずと思い、やってみました。

はじめに

記事の内容は、下記のすばらしい記事を「私の環境ではこうしたら動きました」でまとめたものになります。

私の環境は下記です。

  • macbook pro 2013 (sierra)
  • Raspbian Jessie LITE 2016-09-23

必要なもの

Raspbian Jessie LITE 2016-09-23 を入れていると bluetoothctl とかははじめから入っています。追加で必要だったのは python-dbus くらいです(途中で出て来る bt-pan の実行に使います)。

sudo apt-get install python-dbus

手順

ラズパイ側で、 bluetoothctl を使って設定します。

$ bluetoothctl

[bluetooth]# scan on
[NEW] Device B8:E8:56:xx:xx:xx macoshita の MacBook Pro
[bluetooth]# pair B8:E8:56:xx:xx:xx
[bluetooth]# connect B8:E8:56:xx:xx:xx

さらに bt-pan というスクリプトを使って PAN 接続を行います。 bt-pan は後で /etc/rc.local でも実行するので、適当にパスの通ったところに移動しておきます。

$ wget https://raw.githubusercontent.com/mk-fg/fgtk/master/bt-pan
$ chmod +x bt-pan
$ sudo chown root: bt-pan
$ sudo mv bt-pan /usr/bin/
$ sudo bt-pan client B8:E8:56:xx:xx:xx

最後のコマンドを叩くと mac 側にペアリングの許可をもとめるウィンドウが出るので許可してください。許可したら、下記のようにテザリングを通して IP アドレスが取得できているはずです。

$ ifconfig bnep0
bnep0     Link encap:Ethernet  HWaddr xx:xx:xx:xx:xx:xx
          inet addr:192.168.x.x  Bcast:192.168.2.255  Mask:255.255.255.0

最後に、ラズパイ起動時にテザリングを開始できるように、 /etc/rc.local を書き換えます。

# この行を追加
bt-pan client B8:E8:56:xx:xx:xx

# ↓このあたりは最初から書いてあると思います。
# Print the IP address
_IP=$(hostname -I) || true
if [ "$_IP" ]; then
  printf "My IP address is %s\n" "$_IP"
fi

exit 0

リブートしてみて、 ssh pi@raspberrypi.local で ssh が出来れば成功です(パスワードはデフォルトで raspberry)。