株式会社インデペンデンスシステムズ横浜

システム開発エンジニアの西田五郎が運営しております。Raspberry Pi や Arduino その他新規開発案件のご依頼をお待ちしております。

Raspberry Pi Remote.it

Remote.itを利用してRaspberry Piを公開する

投稿日:2021年5月17日 更新日:

remote.itを利用してRaspberry Piをインターネットに公開する方法についてです。
公開するとは文字通り何かのサービスを実装したサーバーとして利用するとか、リモートでメンテナンスするとかのことです。ここで重要なのが出来るだけ「安全に」公開するということで、そのためにremote.itを使います。

(※Windows PC同士のリモートアクセスは以下で書きました。)

「安全に」という意味ですが、以下がRemote.itさんの今現在の日本語ページからの引用です。やはりこのあたりを管理しなくていいという点が「安全に」ということです。

接続は暗号化され安全です。IP アドレスの管理や、開放されたポートを気にする必要もありません。

remote.itの利用料金についてです。今現在ですが、個人利用の非商用で5台までは無料のようです。必要な場合は以下のページを参照して確認して下さい。



ここでのRaspberry Pi、PC環境等
Raspberry Pi4 メモリ4G版
ACアダプター(充分な電力が供給できるものでRaspberry Pi4の場合は USB Type C)
ノートPC Windows10 Pro
ネットワーク環境

Raspberry Pi自体はOSのセットアップまで完了していてxrdpもインストール出来ている状態です。(必要な場合は以下等を参照して下さい。)

何を公開するか
ここではリモートでのメンテナンスやGUIでのデモ等を想定して以下を公開してみます。
SSHでのコマンド操作
リモートデスクトップ(xrdp)でのGUI操作
(別のサービスも同様の方法で公開可能です。)

これらにWindows10のノートPCからremote.itを利用してアクセスします。

今回の作業手順
以下のような作業手順です。
Remote.itのアカウント作成
Windows10 PCへRemote.itアプリをインストールする
Raspberry PiへRemote.it本体をインストールする
Raspberry PiへRemote.it connectd package をインストールする
Remote.itへRaspberry Piのサービスを登録する
Windows10 PCからRemote.it経由でRaspberry Piにアクセスする

毎回書いていますが、これが唯一無二の正解ということではなく一つの例です。必要に応じていろいろと検討して頂ければと思います。

順番に書きます。

Remote.itのアカウント作成
以下から出来ます。メールアドレスだけで出来ます。
Remote.it Sign Up

Windows10 PCへRemote.itアプリをインストールする
Windows10 PCへRemote.itアプリをインストールします。このアプリを利用してRaspberry Piにアクセスします。

マニュアルページは以下です。
Windows デバイスに remote.it をインストールする

以下のダウンロードページから「Download for Windows」のボタンをクリックしてダウンロードします。
Remote.it Desktop Applications

実行ファイル形式のインストーラになっていますので実行してインストールを進めます。

問題なくインストールが完了して起動が出来れば以下のような起動画面になります。

メールアドレスとパスワードを入力してサインインが出来るかどうか確認しておきます。サインインまで出来ればひとまず完了です。

Raspberry PiへRemote.itをインストールする
ここからの作業はRaspberry Pi上での作業です。
まずは、Raspberry PiへRemote.itをインストールします。

今現在のマニュアルページは以下です。
Installing remoteit on a Raspberry Pi running Raspbian or Raspberry Pi OS

以下の2行を実行します。
$ sudo apt update
$ sudo apt install remoteit

sudo apt updateの処理経過、結果は省略します。
sudo apt install remoteitは最終的に以下のように完了しました。

以下のコマンドが有効になりました。
$ remoteit

これでremoteit本体のインストールは完了です。

Raspberry PiへRemote.it connectd packageをインストールする
Raspberry PiのサービスをRemote.itへ登録するためのコマンドラインツールのconnectd packageをインストールします。Raspberry PiのGUIからRemote.itのアプリを起動してGUIで各種登録処理を行う方法もありますが、ここではコマンドラインツールを使います。そのツールがconnectd packageです。

今現在のconnectd packageインストールマニュアルページは以下にあります。
Installing the connectd package on all Linux distributions

ホームディレクトリ配下でやります。マニュアルページの通り、以下を順番に実行していきます。
$ curl -LkO https://raw.githubusercontent.com/remoteit/installer/master/scripts/auto-install.sh
$ chmod +x ./auto-install.sh
$ sudo ./auto-install.sh

途中省略ですが、以下のように完了しました。

以下のコマンドラインで実行出来ます。
$ sudo connectd_installer

これを実行すると以下のようなメニューになりました。これで利用可能となりました。ここは一旦、3)Exitで終了させます。

ここまででRemote.itを利用する(このRaspberry Piを登録する)環境が出来ました。

Remote.itへRaspberry Piのサービスを登録する
ここから実際にRemote.itへRaspberry Piのサービスを登録していきます。前項で準備した対話ツールを使います。

再度ですが、以下で起動します。
$ sudo connectd_installer

1を選択してユーザ名とパスワードでサインインをします。ここのユーザ名とパスワードはRemote.itへユーザ登録した際のユーザ名とパスワードです。

途中画面は省略します。正しいユーザ名とパスワードを入力すると以下の画面になりました。

デバイス名の登録のようなのでここではホスト名を入力しておきます。(もちろん、好きなデイバス名を入力して下さい。)間違えてもやり直し出来るので気楽にやってみます。

私の場合は、MyRaspi01と入力すると以下のようなメニューになりました。Device Name:に入力したデバイス名のMyRaspi01が表示されています。

1を選択してSSHやRDPを登録します。以下のように候補が表示されました。

1のSSHを選択してyで進めます。

このデバイスのSSHサービスの名称を入力して下さいということのようです。

SSHRaspi01と入力しました。

再度 1) => 7) Remote Desktop (RDP) on port 3389 を選択してRDPのサービス名を登録します。サービス名は、XRDPRaspi01としました。

登録出来たようです。5)Exitでこのツールから抜けます。
もし全てやり直したい場合は、3)か4)で削除してから再度登録すればいいです。

これでRaspberry Pi側での作業は完了です。Raspberry Piはそのまま起動しておきます。

Windows10 PCからRemote.it経由でRaspberry Piにアクセスする
いよいよWindows PCからRaspberry Piにアクセスします。ここではテストもかねてあえてWindows PCはRaspberry Piと別のネットワーク(ここではスマホのテザリング)を使いました。

Windows10 PCから先にインストールしたRemote.itのアプリを起動してサインインをします。問題なくサインインが完了すると登録したRaspberry Piが一覧に表示されました。

デバイスMyRaspi01を選択します。登録したサービスが一覧表示されました。

まずSSHからやってみます。SSHのサービス名を選択します。

CREATE CONNECTIONを選択します。

接続が完了すると以下のようになります。(接続出来ないようであれば、Raspberry Piの起動状態やネットワーク環境を確認して下さい。)

ここで、Connection URLを確認します。ここでは以下のようになっていました。
127.0.0.1:30001

これを使ってRaspberry PiへSSH接続します。ここではTeraTermですが、他のターミナルソフトでも同様です。上記のConnection URLを分解して接続情報へ入力します。

少し時間がかかりましたが、無事に認証画面に移行しました。Raspberry Piの認証情報を入力します。

接続が完了しました。これでコマンド操作が可能です。

次にリモートデスクトップで接続します。SSHの場合の流れと同じです。リモートデスクトップのサービスを選択します。

CREATE CONNECTIONを選択します。

接続が完了すると以下のようになります。(接続出来ないようであれば、Raspberry Piの起動状態やネットワーク環境を確認して下さい。)

ここで、Connection URLを確認します。ここでは以下のようになっていました。
127.0.0.1:30002

これを使ってRaspberry Piへリモートデスクトップ接続をします。Windows10のリモートデスクトップを起動します。Connection URLを入力して接続します。

途中で警告が表示された場合はそのまま進みます。無事にRaspberry Piのログイン画面に移行しました。

Raspberry Piの認証情報を入力すると無事にリモートデスクトップに接続出来ました。

これでGUI操作も可能です。特に重くて使えないということはないです。

まとめ的に
Remote.itを利用してRaspberry Piをインターネットに公開しました。公開するサービスとしてSSHとRDPを選択してみました。主にRaspberry Piをリモートでメンテナンス出来るようにという状態をイメージしました。

他のサービスも同様に利用出来るようなのでいろいろな用途は考えられると思いますが、いかがでしょうか。あと、Remote.itはいろいろな使い方というか応用が出来るようなので必要な場合はぜひいろいろと検討してみて下さい。

今回は以上です。また書きます。

AdSense

AdSense

-Raspberry Pi, Remote.it

執筆者:

関連記事

Raspberry Piをモニターとキーボードなしで導入する(その1)SSHでのログインまで

Raspberry Piをモニターとキーボードなしで導入する方法についてです。 (※2021/05/02追記 現時点で最新版のRaspberry PI OSでモニターとキーボードなしで導入する手順を書 …

Raspberry PiでC言語版Lチカを試す(その2)レジスタを操作する

Raspberry PiでC言語を使ったLEDの点灯、消灯(いわいるLチカ)を試してみました。今回は2回目です。前回デバイスドライバを利用する方法を書きました。今回はレジスタを直接操作する方法を使いま …

Raspberry Pi 3でモニタとキーボードなしで設定する方法

Raspberry Pi 3でモニタとキーボードなしで設定する方法についてです。 以下のような条件ごとに方法を確認しました。あちらこちらで書いてしまったのでここで整理させてください。当然環境によって違 …

Node.jsでRaspberryPiのGPIOを使う(その2)ブラウザからの操作

Node.jsでRaspberryPiのGPIOを使うの2回目です。前回はGPIOのデバイスドライバをNode.jsのファイル操作を使って操作しました。今回はこれを以下の記事で作成したWebサーバ的な …

温度センサADT7410(その3)Raspbery Piでの利用

温度センサADT7410の3回目です。前回までの内容は以下です。 温度センサADT7410(その1)I2C通信とは 温度センサADT7410(その2)Arduinoでの利用 ADT7410は以下を使っ …