Napter を利用して、IoT SIM を使用したデバイス (Raspberry Pi) に VNC® Viewer でリモートアクセスする方法を説明します。
ここでは、以下の構成で、SSH ポートフォワードを利用した手順を説明します。
- VNC サーバー: IoT SIM を利用した Raspberry Pi と、Raspberry Pi に用意されている VNC サーバー
- VNC クライアント: VNC® Viewer
[デバイス側ポート] に 5900 を入力すると vnc プロトコルを利用したアクセス情報が表示されます
このページでは、通信を暗号化するために SSH ポートフォワードを利用した手順を説明しますが、通信の暗号化に不安がない場合は、SSH ポートフォワードを利用しなくても接続できます。
具体的には、オンデマンドリモートアクセス画面の vnc://xxx-xxx-xxx-xxx.napter.soracom.io:yyyyy
) が表示されます。
macOS の場合は、Finder を開いてアクセス情報を入力するとリモートアクセスできます。
Windows の場合は、VNC Viewer を利用できます。なお、VNC Viewer を利用する場合は、オンデマンドリモートアクセス画面に表示されたアクセス情報 (
vnc://xxx-xxx-xxx-xxx.napter.soracom.io:yyyyy
) からvnc://
を除いた文字列を入力するとリモートアクセスできます。
操作を始める前に準備が必要です (クリックして確認してください)
(1) SORACOM Air for セルラーの IoT SIM、および IoT SIM を利用できるデバイスを準備する
各種デバイスでの IoT SIM の使用方法については 各種デバイスで SORACOM Air を使用する を参照してください。
準備完了ステップ 1: デバイスの設定を行う
Raspberry Pi (以下、デバイス) で VNC サーバーを有効化します。
Raspberry Pi へログインし、以下のコマンドを実行します。
$ sudo raspi-config
↑ キー / ↓ キーを押し、
または を選択して、Enter キーを押します。↑ キー / ↓ キーを押し、
を選択して、Enter キーを押します。← キー / → キーを押し、
を選択して、Enter キーを押します。を選択して、Enter キーを押します。
← キー / → キーを押し、
を選択して、Enter キーを押します。
SSH サーバーも有効化してください
VNC サーバーに加えて、SSH サーバーも有効化してください。
ステップ 2: オンデマンドリモートアクセスを作成する
Napter 利用料金が発生します
オンデマンドリモートアクセスを作成すると Napter 利用料金が発生します。なお、Napter には無料利用枠があるため、無料利用枠内の利用であれば、Napter 利用料金が発生しません。詳しくは、SORACOM Napter のご利用料金 を参照してください。
ユーザーコンソール にログインし、デバイスが利用する IoT SIM にあわせてカバレッジタイプを変更します。
たとえば、plan01s の IoT SIM を利用するデバイスにリモートアクセスする場合は、グローバルカバレッジの表示に変更します。詳しくは、SORACOM ユーザーコンソールで表示するカバレッジタイプを変更する を参照してください。
→ → の順にクリックします。
SIM 管理画面が表示されます。
デバイスが利用する IoT SIM がオンラインであることを確認します。
デバイスが利用する IoT SIM にチェックを入れて、
→ の順にクリックします。オンデマンドリモートアクセス画面が表示されます。
選択した IoT SIM にすでにオンデマンドリモートアクセスが作成されている場合は、オンデマンドリモートアクセスの一覧が表示されます。新しいオンデマンドリモートアクセスを作成するには、
をクリックします。接続先の情報を設定します。
設定項目について詳しくは、ユーザーコンソールでオンデマンドリモートアクセスを作成する を参照してください。
項目 説明 デバイスに接続する方法 (SORACOM Air または SORACOM Arc) を選択します。SORACOM Air で追加サブスクリプションを利用している場合は、複数のサブスクリプションが表示されます。ただし、Napter で利用するサブスクリプションを選択する必要はありません。オンライン が表示されているサブスクリプションが利用されます。 デバイスが SSH 接続を待ち受けているポート番号を指定します。SSH のための一般的なポート番号は 22
ですが、デバイスによっては22
以外に変更していることがあります。デバイスの設定に合わせて、ポート番号を指定してください。オンデマンドリモートアクセスを維持する時間 (リモートアクセスを許可する時間) を選択します。 SSH 接続を利用するため、チェックを外します。チェックを入れると、SSH 接続できません。なお、SSH ポートフォワーディングを利用して、VNC 接続するため通信内容は暗号化されています。 デバイスにリモートアクセスできる IP アドレスレンジをグローバル IP アドレスで指定します。空欄の場合は、ユーザーコンソールを操作している PC のグローバル IP アドレスが設定されます。 をクリックします。
選択した IoT SIM に対してオンデマンドリモートアクセスが構成され、アクセス情報が表示されます。
の をクリックします。
SSH コマンド (
ssh -p xxxxx xx-xx-xx-xxx.napter.soracom.io -l user
) がクリップボードにコピーされます。
ステップ 3: SSH ポートフォワードを設定する
ステップ 2 で表示された SSH コマンドにポートフォワードの設定を追加して、デバイスに SSH 接続します。
PC のターミナルで、ステップ 2 の手順 7 でクリップボードにコピーしたコマンドに、
-L 5901:localhost:5900
を追加して入力します。これは、接続するデバイスの VNC サーバーのポートが
5900
、ローカル PC で利用するポートが5901
のときの設定です。$ ssh -p xxxxx -L 5901:localhost:5900 xx-xx-xx-xxx.napter.soracom.io -l user
user@xx-xx-xx-xxx.napter.soracom.io's password:
user の部分を適切なユーザー名に変更してください
user
の部分は、デバイスにログインするユーザーの名前に変更してください。たとえば、デバイスが Raspberry Pi の場合は、user
の代わりにpi
に置き換える必要があることがあります。$ ssh -p xxxxx -L 5901:localhost:5900 xx-xx-xx-xxx.napter.soracom.io -l pi
新しくオンデマンドリモートアクセスを構成した場合は、以下のメッセージが表示されることがあります。
The authenticity of host '[xx-xx-xx-xxx.napter.soracom.io]:xxxxx ([xx.xx.xx.xxx]:xxxxx)' can't be established. ECDSA key fingerprint is SHA256:xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx. Are you sure you want to continue connecting (yes/no/[fingerprint])?
yes
と入力して、Enter キーを押してください。Warning: Permanently added '[xx-xx-xx-xxx.napter.soracom.io]:xxxxx,[xx.xx.xx.xxx]:xxxxx' (ECDSA) to the list of known hosts.
デバイスにログインするユーザーのパスワードを入力して、Enter キーを押します。
SSH 接続が確立されます。
kex_exchange_identification: Connection closed by remote host が表示されたときは
手順 1 のあとに、kex_exchange_identification: Connection closed by remote host
が表示されたときは、kex_exchange_identification: Connection closed by remote host が表示されたときは を参照してください。
ステップ 4: Napter で VNC 接続する
ステップ 3 で設定したポートフォワードの設定 (localhost:5901
) を VNC クライアントに設定します。
VNC Viewer を起動して、VNC Server のアドレスを入力する欄に、「localhost:5901」を入力します。
VNC 接続します。
デバイスの VNC サーバーに接続され、デバイスの画面が表示されます。
ステップ 5: オンデマンドリモートアクセスを削除する
オンデマンドリモートアクセスは、オンデマンドリモートアクセスを削除する を参照してください。
で指定した時間が経過すると、自動的に削除されます。手動で削除する場合は、