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を登録します。以下のように候補が表示されました。
このデバイスのSSHサービスの名称を入力して下さいということのようです。
再度 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のサービス名を選択します。
接続が完了すると以下のようになります。(接続出来ないようであれば、Raspberry Piの起動状態やネットワーク環境を確認して下さい。)
ここで、Connection URLを確認します。ここでは以下のようになっていました。
127.0.0.1:30001
これを使ってRaspberry PiへSSH接続します。ここではTeraTermですが、他のターミナルソフトでも同様です。上記のConnection URLを分解して接続情報へ入力します。
少し時間がかかりましたが、無事に認証画面に移行しました。Raspberry Piの認証情報を入力します。
次にリモートデスクトップで接続します。SSHの場合の流れと同じです。リモートデスクトップのサービスを選択します。
接続が完了すると以下のようになります。(接続出来ないようであれば、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はいろいろな使い方というか応用が出来るようなので必要な場合はぜひいろいろと検討してみて下さい。
今回は以上です。また書きます。