お問い合わせ
トップ » SORACOM IoT DIY レシピ » Raspberry Piに遠隔から安全にアクセス

SORACOM IoT レシピ:Raspberry Piに遠隔から安全にアクセス

概要

公開日: 2020年8月

レシピ難易度:★★☆☆☆

このレシピでは遠隔地のIoT機器(その例としてRaspberry Pi)に安全にリモートアクセスする仕組みを設定し、手元のPCからの遠隔での機器管理を実現します。

リモートアクセスの仕組みは SORACOM Napter を用います。この仕組みでは遠隔地のローカルネットワーク(LAN)を変更することなく、かつRaspberry Piのセキュリティを保ちながらのリモートアクセスが可能です。

本レシピのゴール

  • 遠隔地のIoT機器(Raspberry Pi)にSSH接続できるようになる

本レシピの所要想定時間と金額

  • 想定所要時間: 約60分
  • 概算費用: 約17,500円(設定用PC本体を除く)

※ 概算費用: ハードウェアや SORACOM を始めとした各種サービスの概ねの費用 (税や送料などの付帯費用や無料枠適用は考慮しないものとしています)

利用するソラコムサービス

サービス名概要
SORACOM AirIoT データ通信サービスです。
Raspberry Piと3G USBドングル AK-020でのセルラー通信を実現します。
SORACOM Napterオンデマンド・リモートアクセスサービスです。
遠隔地のSORACOM Airを搭載したデバイスにセキュアにリモートアクセスするために利用します

このコンテンツの進め方

上から内容を読み進みながら作業を行なっていきます。また左サイドに追従する目次からページ内の移動が可能です。

本コンテンツは現状のままで提供され、株式会社ソラコムは、誤りがないことの保証を含め、明示であると黙示であるとを問わず、本コンテンツの記載内容につき、いかなる種類の表明も保証も行いません。

掲載情報の閲覧及び利用により、利用者自身、もしくは第三者が被った損害に対して、直接的、間接的を問わず、株式会社ソラコムは責任を負いかねます。

本コンテンツを実践する中で用意された機器、利用されたサービスについてのご質問は、それぞれの機器やサービスの提供元にお問い合わせをお願いします。機器やサービスの仕様は、本コンテンツ作成当時のものです。

株式会社ソラコムが提供する機器・サービスについてのご質問はフォームで受け付けております。機器・サービスご利用前の導入相談は https://soracom.jp/contact/ に、機器・サービスご利用開始後のサポートは、SORACOMユーザーコンソール内のサポートサイトから「リクエストを送信」(要ログイン)にてお問い合わせください。

Copyright (c) 2023 SORACOM, INC.

リモートアクセスの課題

リモートアクセスとはその名の通り「通信を用いて、遠隔から現場の装置を制御する」ことになります。このリモートアクセスの仕組みは大きく分けて以下のように大別され、それぞれ課題があります。

  • サーバ・クライアントに専用ソフトウェアをインストールする方式
  • リモートアクセスするサーバとそれに接続するクライアントの両方に追加のソフトウェアをインストールする必要がある
  • 外部サービスを経由する場合がある
  • VPNを経由する方式
  • VPNアプライアンスの管理コストが高い
  • VPNクライアントのライセンス管理とクライアントのキッティングが必要
  • VPNアプライアンスを常にインターネットに公開する必要がある

いずれの方式にもメリットとデメリットがあり、システム管理者には多くの負担が必要です。

SORACOM Napterとは?

SORACOM NapterはSORACOM IoT SIMに対してセキュアにリモートアクセスするサービスです。Napterを有効にすると期限付きの一時的なIPアドレスとポート番号が発行され、NapterはそこへのアクセスをSIMの指定ポート宛に転送します。サーバやクライアントへの追加のソフトウェアが不要なのでシンプルに導入でき、アクセス元IPアドレスの制限やアクセス監査ログ機能を備えるため企業での利用にも適しています。

SORACOM Airによるセルラー接続は遠隔地にインターネット接続回線がないケースにおいてもスピーディーに導入可能であり、遠隔メンテナンスのように不定期に利用するケースにおいては使った分だけ費用が発生する、SORACOM Airの従量課金モデルが非常に適しているとも言えます。

準備

本レシピを行うために、以下のものをご用意ください。

ハードウェア

品名数量価格備考
Raspberry Pi 4 Model B / 2GB1約5,250円Raspberry Pi 3 モデルB+や搭載メモリサイズが異なるものでも同様です
ラズパイ4に最適なACアダプター 5.1V/3.0A USB Type-Cコネクタ出力1約1,430円同等の他製品でも構いません
SORACOMスターターキット(3G USBドングル AK-020同梱)1約5,700円キットの中には以下のものが含まれています。それぞれを個別に準備しても構いません。
AK-020 (USB ドングル型モデム) x 1台
SORACOM 特定地域向け IoT SIM (plan-D マルチカット) x 1
※AK-020のSIMサイズは標準となります
microSD カード1約1,000円16GB以上推奨。
microSD カードリーダー1約1,600円Raspberry Pi OS をmicroSD に書き込む際に使用します。
有線 LAN (USB 型のアダプタ等形状問わず)1約1,600円パソコンと Raspberry Pi の通信に使用します。
有線 LAN ケーブル1約500円パソコンと Raspberry Pi の通信に使用します。
パソコン1インターネット接続が可能でWebサイトへの接続が自由であること。Google Chrome 等の最新ブラウザーが利用可能な事。有線 LAN が接続できること。

※ 金額はレシピ作成当時のもので、税込み・送料別です。

ご購入について

ハードウェアは以下よりご購入いただけます。

ご購入先にはSORACOM IoT ストア以外のショッピングサイトも含まれています。ご購入先や在庫、動作保証をするものではありませんのでご留意ください。

その他必要なもの

必要なもの費用作成方法など
SORACOM アカウント無料※SORACOM アカウントの作成 (JP)

※ アカウント作成・維持自体の料金です。

SORACOMスターターキットが届いたら

SORACOMスターターキットに同梱されている SIM は、SORACOM に登録することで通信できるようになります。そのため、まずSORACOMスターターキット同梱されている SIM を SORACOM へ登録をしましょう。
※ すでに登録済み、もしくは登録済みの別の SIM を利用する場合は次へお進みください。

登録の方法は通販サイトやイベント等で入手した SIM を登録する (JP)をご覧ください。約5分で完了します。

登録が完了すると SIM 管理の一覧に表示されますので、確認ください。

SORACOM の便利な使い方: SIM の「名前」機能
SIM には「名前」を付けることができ、これで整理が可能です。特に複数の SIM (ボタン含む) をお持ちの際には、名前を付けることを強くお勧めいたします。
名前の付け方は IoT SIM の名前を設定するをご覧ください。

Raspberry Pi OS を microSD に書き込む

Raspberry Piを動作させるためには、パソコンでOSイメージをmicroSDに書き込み、それをRaspberry Piにセットします。OSイメージのダウンロードと書き込みには、無償で利用できるソフトウェア Raspberry Pi Imager が便利です。

Raspberry Pi Imager をダウンロードします。

Raspberry Pi のダウンロードページを開き、操作するパソコンの OS に合った Raspberry Pi Imager をダウンロードします。

Raspberry Pi Imager をインストールします。

Windows の場合

ダウンロードした imager.exe を実行し、インストーラーの指示に従ってインストールを完了します。

インストール完了時の “Run Raspberry Pi Imager” はチェックを外した状態で[Finish]をクリックします。

macOS の場合

ダウンロードした imager.dmg を実行し、 Raspberry Pi Imager を Applications (アプリケーション) フォルダへコピーします。

インストールが完了したら、Finder のデバイスに表示されている Raspberry Pi Imager ディスクは不要となります。取出しをしてください。

Raspberry Pi Imager を利用して microSD カードに書き込む

以下の場所にダウンロードされている”Raspberry Pi Imager”を起動します。

Windows[スタートメニュー]> “Raspberry Pi Imager”
macOS[Finder]>[アプリケーション フォルダ]> “Raspberry Pi Imager”

macOS で初回起動時に「インターネットからダウンロードされたアプリケーションです」のダイアログが表示された場合は[OK]をクリックして進めてください。

[OSを選ぶ]をクリックし[Raspberry Pi OS (other)]>[Raspberry Pi OS Lite (64-bit)]を選択します。

次に[ストレージを選ぶ]をクリックし[Generic MassStorageClass Media]を選択します。

次に右下の歯車マークをクリックし各種設定を行います。

macOSでは「Wifiのパスワードをシステムのキーチェーンから読み取って設定しますか?」というダイアログが出てくる場合があります。[Yes]から情報を入力すると、現在使用しているWi-Fiのパスワードが自動で入力されます。

はじめに[ホスト名][SSHを有効化する][ユーザー名とパスワードを設定する][Wi-Fiを設定する][ロケール設定をする]の5項目にチェックをつけます。

その後、以下のように入力してください。

項目入力する内容
ホスト名初期設定の通り raspberrypi とします。
SSHを有効化する「パスワード認証を使う」にチェックを入れます。
ユーザー名とパスワードを設定する[ユーザー名]を pi とします。
[パスワード]はこちらから安全なパスワードを生成し入力します。
※ユーザー名は自由に設定可能です。パスワードは忘れないようにしてください。
Wi-Fiを設定する[SSID]には Raspberry Pi から接続したいWi-FiのSSIDを入力します。
[パスワード]には、SSIDに対応するパスワードを入力してください。
[Wifiを使う国]は「JP」を選択してください。
※SSIDの初期値には、パソコンで接続中のWi-FiのSSIDが表示されています。そのまま利用する場合には変更不要です。
ロケール設定をする[タイムゾーン]に自分のお住まいの場所(日本の場合「Asia/Tokyo」)
[キーボードレイアウト]に「us」が表示されていることを確認してください。

特に職場の Wi-Fi を利用する際には、ネットワーク管理者の了解を取るようにしてください。また、Wi-Fi 接続時に Web ブラウザ等による認証が必要なネットワークは利用できません。

以上の設定が終わったら[保存]をクリックし内容を保存します。

[書き込む]から書き込みを行い、完了したら microSD カードを取り出してください。

Raspberry Pi の起動と SSH ログイン、Raspberry Pi OS の最新化

Raspberry Pi の電源 ON

microSD を Raspberry Pi に取り付けます

少し残りますが奥までしっかりと刺さっていれば問題ありません。

有線 LAN で Raspberry Pi とパソコンを接続

このあとのRaspberry Piの初期設定のために、Raspberry Pi の有線 LAN ポートとパソコンの有線 LAN ポートをケーブルで接続します。(Napterによるリモートアクセス時には不要です)

Raspberry Pi に ACアダプタを接続

USB-CポートにACアダプタのケーブルを挿すと、電源 ON となります。(電源スイッチはありません)

Raspberry Pi の電源が ON になる前に、パソコンとの有線 LAN ケーブルの接続を確認してください。電源を ON にしてから有線 LAN ケーブルを接続しても、SSH リモートログインできない場合があります。

しばらく経過(約1~2分)すると macOS もしくは Windows 10 (または Windows 11) から Raspberry Pi へSSH接続出来るようになります。

SSH 接続の方法

Windows の場合

スタートメニューを右クリックして「コマンドプロンプト」を起動します。

コマンドプロンプトで以下のように入力して ssh コマンドを実行し、接続します。

ssh pi@raspberrypi.local
  • Are you sure you want to continue connecting (yes/no)? との問いには yes と入力します。
  • pi@raspberrypi.local's password: との問いには、初期パスワードを入力しEnterキーを押下します(入力したパスワードは画面に表示されないことに注意します)。初期パスワードはRaspberry Pi Imagerを使って設定したものを用います。

ssh: Could not resolve hostname raspberrypi.local と表示された場合
Windows 10の以前の場合(Windows 10 の最新版でない場合も同様)では、同エラーが発生し、接続ができない場合があります。(原因は mDNS という名前解決のシステムが必要です。iTunes をインストールすることで解決します。 Windows 用 Apple iTunes をインストール

macOS の場合

[Finder]>[アプリケーション]>[ユーティリティ]>[ターミナル]を起動します。

Spotlight (検索) から “Terminal.app” を探して起動する方法もあります。

Terminal.app で以下のように入力して ssh コマンドを実行し、接続します。

ssh pi@raspberrypi.local
  • Are you sure you want to continue connecting (yes/no)? との問いには yes と入力します。
  • pi@raspberrypi.local's password: との問いには、初期パスワードを入力しEnterキーを押下します(入力したパスワードは画面に表示されないことに注意します)。初期パスワードはRaspberry Pi Imagerを使って設定したものを用います。

Raspberry Pi OS の最新化

以降は Windows、macOS 共通の作業です。

Raspberry Pi へ SSH 接続でログインしたあと、Raspberry Pi 側で以下を実行します。

sudo timedatectl set-timezone Asia/Tokyo
sudo apt update && sudo apt upgrade -y
sudo systemctl reboot

最後の1行で再起動となります。しばらく待ったら、PCからRaspberry Piに再度SSH接続します。

SORACOM Air によるインターネット接続

Rapsberry PiからSORACOM Airによるインターネット接続を設定します。PCからコマンドを実行するために、Raspberry Pi へ SSH 接続していることを確認してください。以降は、特に断りを入れない場合は Raspberry Pi 側でコマンドを実行します。

setup_air.sh の実行

USB ドングル型モデムで SORACOM Air によるインターネット接続の一連の設定を自動化する setup_air.sh をSORACOMユーザーサイトで公開しているので、これをダウンロードし、実行します。

Raspberry Pi へ SSH 接続をし、以下2つのコマンドを順に実行してください。

curl -O https://soracom-files.s3.amazonaws.com/setup_air.sh
sudo bash setup_air.sh

USB ドングル型モデム (AK-020) に SIM を取り付け、Raspberry Pi に接続する

以下の図を参考に AK-020 に SIM カードを取り付け、Raspberry Piにセットしてください。

Raspberry Pi の USB ポートはどこでも構いませんが、有線LANポートと干渉しないようにしましょう。

接続を確認する

USB ドングル型モデムの LED を見ながら接続状態になったのを見計らって、以下を実行します。

ping -c 4 pong.soracom.io

この時、期待される出力は以下の通りです。

PING pong.soracom.io (100.127.100.127) 56(84) bytes of data.
64 bytes from 100.127.100.127 (100.127.100.127): icmp_seq=1 ttl=64 time=75.6 ms
64 bytes from 100.127.100.127 (100.127.100.127): icmp_seq=2 ttl=64 time=58.8 ms
64 bytes from 100.127.100.127 (100.127.100.127): icmp_seq=3 ttl=64 time=55.4 ms
64 bytes from 100.127.100.127 (100.127.100.127): icmp_seq=4 ttl=64 time=43.4 ms

これで Raspberry Pi から SORACOM Air を通じてインターネット接続が可能になりました。Raspberry Piから有線LANケーブルを外しておきましょう。

SORACOM Napterでのリモートアクセス

いよいよ、PCから遠隔地を想定したRaspberry Piへのリモートアクセスを試します。

SORACOM Napterでのリモート接続設定

この作業は「リモートアクセス元のPC」で行います。

SORACOM Napterのご利用には費用がかかります。詳細はWebサイト(https://soracom.jp/services/napter/price/)をご参照ください。

SORACOM ユーザーコンソールにログインし、[Menu] – [SIM管理]をクリックしSIM管理一覧を開きます。

登録したSIMにチェックを入れて[操作] – [オンデマンドリモートアクセス] をクリックします。

ダイアログの [デバイス側ポート番号] が「22」になっていることを確認し、「OK」ボタンをクリックします。

これでNapterが有効になり、アクセスするための一時的なホスト名/IPアドレスとポート番号が発行されました。[デバイスにアクセスするには(例)] の [SSH] にあるコマンドラインの文字列をコピーし、テキストエディタに貼り付けます。

コマンドラインのうち、ユーザー名をRaspberry Piのユーザー名に書き換えましょう。

ssh -p XXXXX user@XX-XX-XX-XX.napter.soracom.io

ssh -p XXXXX pi@XX-XX-XX-XX.napter.soracom.io

コマンドプロンプトやTerminal.appにテキストエディタのコマンドライン文字列をコピー&ペーストし、Napter経由でもSSH接続できることを確認します。

ssh -p XXXXX pi@XX-XX-XX-XX.napter.soracom.io
  • Are you sure you want to continue connecting (yes/no)? との問いには yes と入力します。
  • pi@XX-XX-XX-XX.napter.soracom.io's password: との問いには、初期パスワードを入力しEnterキーを押下します(入力したパスワードは画面に表示されないことに注意します)。初期パスワードはRaspberry Pi Imagerを使って設定したものを用います。

あとかたづけと注意事項

本レシピでは費用がかかるサービスを利用しています。
本項をよく読み、必要な操作や解除作業を行うようにして、想定外の費用が掛からないようにしてください。

費用について

ここで記載している金額は全て税込み、送料別となります。

SORACOM プラットフォームの利用料金

サービス/機能料金
SORACOM Air (plan-D)基本料: 11円/日
通信料: 0.22円~/MB
(今回の利用であれば 100MB 以内で収まる範囲)
SORACOM Napter330円/月

※ 費用詳細はリンク先をご確認ください。

無料利用枠について
SORACOM サービスでは一部サービスにおいて無料枠が設定されています。たとえば SORACOM Air for セルラーであればアカウント毎で30円/月の通信分や、SORACOM Napter であれば1SIM分などです。料金詳細に「無料利用枠」として掲載されていますので、ご確認ください。

SORACOM Napter 設定の削除

SORACOM Napter の設定はアクセス可能時間の経過後自動で削除されます。

明示的に削除する手順はSORACOMユーザーサイトをご覧ください。

Raspberry Piの電源 OFF の方法
電源を OFF にする場合は SSH 接続した後、Raspberry Pi 側で以下を実行します。
sudo systemctl poweroff
この後 1分ほど経過して緑色 LED の点滅が止んだら microUSB ケーブルを抜きます。これで OFF にできます。

次のステップ

本レシピでは、Raspberry Piへの遠隔アクセスをSORACOM AirとSORACOM Napterで実現しました。NapterはSSH接続の他にも任意のTCP通信を扱うことができますので、SORACOMユーザーサイトの手順で紹介している様々なリモートアクセス通信にチャレンジしてみてください。

SORACOM IoT DIY レシピ »

レシピの達成、おめでとうございます!

達成したことをTwitterで呟く

普段の生活やビジネスに役立つ #IoTレシピ 「Raspberry Piに遠隔から安全にアクセス」 を達成しました!
@SORACOM_PR https://soracom.jp/recipes_index/4171


ご質問などはこちらよりお問い合わせください。