Raspberry PiとMac or Windows PCを有線で直接繋いでさくっとSSH接続する

Raspberry PiにSSH接続したいけど、外出中のときや、ルーターやハブが目の前にないときに、Zeroconfという仕組みを利用してRaspberry PiのIPアドレスを調べたりせずにさくっとSSH接続できる方法を紹介します。

動作環境および準備

リモート(Raspberry Pi)側

  • Raspberry Pi 3 Model B
    • Raspbian Jessie Lite 2016-09-23
      • イメージをMicroSDに書き込んだ直後の状態
    • Raspbian Jessie Lite 2016-11-25
      • このバージョンからSSHがデフォルトでは無効になりました。
      • イメージをMicroSDに書き込んだ後、MicroSDのルートディレクトリにsshという名前で空のファイルを作成しておく必要があります。
      • macOSであれば、touchコマンドを用いてtouch /Volumes/boot/sshといった要領で空のファイルsshを作成できます

ホスト側

  • MacBook Pro (Retina, 13-inch, Early 2015)

    • macOS Sierra
    • 外付けLANアダプター
      • BUFFALO LUA3-U2-ATX (https://www.amazon.co.jp/dp/B002IT5ZPG)
        • USB2.0 to Ethernet
        • 実売価格:1,089円程度
        • ドライバーインストール不要で認識した
      • Apple Thunderbolt - ギガビットEthernetアダプタ
  • Let's note S10

Mac Windows PC
PB271172.jpg PB271173.jpg

SSH接続してみる

Raspberry PiにRaspbianが入っているMicroSDを入れて、電源を入れます。OSが起動するまで1分ほど待ちます。

macOS

macOS
$ ssh pi@raspberrypi.local

パスワードを聞かれるので、 raspberry と入力してreturnキーを押します。

macOS
pi@raspberrypi.local's password: 

繋がるはずです。

Raspbian
pi@raspberrypi:~ $

うまく繋がらない場合は、以前接続した際の設定が残っている可能性があるので、known_hostsの設定削除を行ってください。

macOS
$ ssh-keygen -R raspberrypi.local

Windows

今回はTera TermでSSH接続してみます。

初めての方は、タスクマネージャー(Ctrl+Shift+Esc)でBonjour Serviceが実行中になっているか確認しましょう。

ssh-win-04.png

Tera Termを起動し、ホストに raspberrypi.local と入力します。

ssh-win-01.png

ユーザー名に pi 、パスフレーズに raspberry と入力しEnterキーを押します。

ssh-win-03.png

繋がるはずです。

Raspbian
pi@raspberrypi:~ $

ブリッジ接続もしてみる

Mac or Windows PCでSSH接続ができた後、Raspberry Pi側で apt-getwget といったインターネットを必要とする操作をするときに、Mac or Windows PCが接続している回線をRaspberry Pi側でも利用できるようにします。

例として、iPhoneをUSBでMac or Windows PCと接続してテザリングするケースを紹介します。

macOS

システム環境設定の「共有」を開き、左側のサービスの一覧にある「インターネット共有」を選択します。
共有する接続経路を「iPhone USB」 とし、LUA3-U2-ATXを接続した場合は、ポート「AX88772」、Thunderbolt - ギガビットEthernetアダプタを接続した場合は、ポート「Thunderbolt Ethernet」にチェックを入れます。
bridge-mac-01.png

左側のサービスの一覧にある、インターネット共有にチェックを入れ、インターネット共有機能を開始します。
bridge-mac-02.png

再びSSH接続すると、pingで応答が帰ってくるはずです(control+Cで終了)

Raspbian
pi@raspberrypi:~ $ ping www.google.co.jp

Windows

スタートメニューで「ネットワーク接続の表示」と検索して、ネットワーク接続の画面を開きます。

iPhoneとRaspberry Piを接続しているアダプターの両方を選択し、右クリックをしてブリッジ接続をクリックします。

bridge-win-01.png

再びTera TermなどでSSH接続すると、pingで応答が帰ってくるはずです(Ctrl+Cで終了)

Raspbian
pi@raspberrypi:~ $ ping www.google.co.jp

ホスト名を変えてみる

/etc/hostname の中身を見てみます。

Raspbian
pi@raspberrypi:~ $ cat /etc/hostname

初期設定では、内容が raspberrypi となっているはずです。

例として、 my-rpi に変更してみます。
Raspbianの設定ツールを起動します。

Raspbian
pi@raspberrypi:~ $ sudo raspi-config

7 Advanced Options → A2 Hostname でホスト名を変更できます。

Raspbian
pi@raspberrypi:~ $ sudo reboot

で再起動すると、 raspberrypi.local の代わりに my-rpi.local でSSH接続できるようになるはずです。

Raspbian
pi@my-rpi:~ $

参考サイト

mascii
JavaScript, RaspberryPi, Arduino, ESP32の記事が多めです。大学院での専攻はグラフ理論でした。
https://mascii.hatenablog.com/
visasq
ビザスクは「知見と、挑戦をつなぐ」をミッションに、世界で1番のナレッジプラットフォームをつくっています。 様々なニーズにつなぐことで、実際に経験したことで得られた知識や意見を、知見として価値最大化します。組織、世代、地域を超えて、知見を集めつなぐことで、世界中のイノベーションに貢献します。
https://visasq.co.jp
ユーザー登録して、Qiitaをもっと便利に使ってみませんか。
  1. あなたにマッチした記事をお届けします
    ユーザーやタグをフォローすることで、あなたが興味を持つ技術分野の情報をまとめてキャッチアップできます
  2. 便利な情報をあとで効率的に読み返せます
    気に入った記事を「ストック」することで、あとからすぐに検索できます
コメント
この記事にコメントはありません。
あなたもコメントしてみませんか :)
すでにアカウントを持っている方は
ユーザーは見つかりませんでした