ごぶさたしております。
WEB事業部チーフエンジニアの平崎です。
今回は、外出先でiPadでオフィスのMacに安全にリモートデスクトップ接続出来るようにするには、というお話です。
結論としてはSSHトンネルを通してVNC接続できるRemoter Proを使うことにしました。
弊社WEB事業部ではWEBサイトの制作が業務の中心ですが、システムやアプリケーションの製作、サーバ等のインフラのホスティングなど幅広い業務をご依頼いただいております。
その中で、ファイルの転送やサーバへのログインしての作業などではセキュリティの観点からアクセス元IPアドレスを限定することをお客さまから求められることもありますし、弊社からご提案させていただく場合もございます。
弊社からのアクセスの場合、オフィスのIPアドレスを固定してありますので、オフィスのIPアドレスをアクセス元IPアドレスの 許可リストに設定します。
そうなると、就業時間でオフィスにいる場合はいいですが、急遽対応が必要になった場合、家などからはアクセスが出来ずに困ります。
AWSなどではセキュリティグループの設定をブラウザから変更することが出来ますので、緊急時はブラウザから現在のIPアドレスを一時的に追加して対応する、などの対応も可能ですが、家庭用ネット回線のプロバイダから提供されているのは非固定IPアドレスだったりしますので、穴を開けたり閉じたりするのは好ましくありません。
そこで、オフィスに置いてあるPCへリモート・デスクトップで接続し、対応はオフィス内のPCから行う、というようにしております。
PC同士のリモート・デスクトップは、GoogleのChrome Remote Desktop(chromeアプリ)を利用するとかんたんですね。
セットアップがすぐできるのでポートフォワーディングの設定が必要なく、特にインフラの知識がなくても大丈夫です。
親から実家のPCでの作業を依頼された際にも使っています。
便利な世の中になったものです。
会社からはノートPC(MacBookPro)を貸与されていますので、家にいるときはこのPCからリモート・デスクトップすればいいわけですが、問題は出先での対応です。
今年3回目の年男を迎えまして、どこに行くにもノートPCを持ち歩くというのは体力的にもさすがに辛くなってきました。(今までは常にPCを持ち歩いていました)
そこで、常に持ち歩いている iPad mini を使ったらどうかということで、色々調査した結果を残しておきます。
まず、iPadのソフトウェアキーボードではターミナルの入力がしづらいのでBluetoothキーボードを買いました。
ケースは別で買っていたので、なるべく小さくて使い勝手のいいものを、ということで、EC Technology の Bluetooth 折りたたみ式 ワイヤレスキーボード(公式サイト)にしました。
この辺のサイトのBluetoothキーボードのレビューを参考にしました。
まず、PCでお世話になっているChrome Remote Desktopです。
こちらの紹介記事が詳しいですが、iOSアプリなのでiPhoneでもiPadでも使えます。
記事の冒頭はPC側の設定が長々と書いてありますが、
それさえ終わっていればiOSアプリの方では
- アプリをインストール
- アプリを起動してGmailアカウントでログイン
- アクセスするPCを選んで(先に設定しているから出てる)PINを入力
- アクセス完了!
と、これだけです。
かんたんだなー、と喜んだのもつかの間、落とし穴が待っていました。
ターミナルで方向キーを入力しても反応しない。
確かにiOSのソフトウェアキーボードには方向キーないけど。。
方向キーが使えないとターミナルの操作は辛いのでこれはアウト。。
ということで次へ。
こちらの記事でMacの設定からVNC Viewerでの接続まで解説されています。
これで接続できたー、と喜んだのもつかの間(2度目)、VNCだけだと通信が丸見えじゃないか。。と我に返りました。
よくよく見てみるとVNC ViewerではSSH接続はできなさそう。
無料アプリではここまでですかね。
ということでSSHトンネリング出来るVNCアプリを探します。
リモートデスクトップアプリのランキングとか眺めて、一つひとつ解説サイトを確認したりしました。
リモートデスクトップアプリって全般的に有料なので、買った結果使えなかったは避けたい、ということでかなり慎重に選んだ結果、有料アプリの中では安かったのもあってRemoter Proを使うことにしました。
360円(DL時点)ならハズレでもしょうがないかと。1000円超えてたら泣くけど。
同じデベロッパから出ている安い方のRemoter VNCではVNCしか出来ないのでご注意を!
Remoter ProだとSSHやRDPに対応しています。(使う予定はないけど一応Windowsも視野に)
SSHトンネリングしてVNC接続をする方法は下記の通り。
- アプリを立ち上げたら左上の「+」をタップして追加画面を開きます。
- 「Add Session Manually」をタップ。
- (英語ですが)各項目に説明が書いてあるので従って設定していきます。(詳細な設定は後述)
- 設定が出来たら「Start」でリモート接続開始!
詳細設定(画像にないものもあります)
項目名 | 説明 | 設定値 |
Remoter Fusion Session | RemoterFusionがインストールされてる場合は使えます | 無効 |
Sever Type | 接続タイプを選択できます | VNC over SSH |
Name | 設定名 | 任意の名前 |
SSH Hostname | SSHトンネリング先のIPアドレス | IPアドレス(グローバル) |
SSH Port | SSHトンネリング先のポート番号 | ポート番号(グローバル) |
SSH Username | Macのユーザ名 | ユーザ名 |
SSH Key Auth | MacのSSH秘密鍵 | 利用する場合は先にSSH Managerに登録した鍵を選択 |
SSH Password | Macのパスワード | パスワード |
VNC Hostname | MacのローカルIPアドレス | IPアドレス(ローカル) |
VNC Port | MacのVNCポート番号 | 5900(デフォルト) |
VNC Password | MacのVNC パスワード | パスワード |
Keyboard Mapping | Macのキーボードマッピング | Auto(問題がある場合は合ったものを選択) |
VNC Password Manager | VNCパスワード選択 | 利用する場合は先にPassword Managerに登録した鍵を選択 |
SSH Password Manager | SSHパスワード選択 | 利用する場合は先にPassword Managerに登録した鍵を選択 |
注意点としては、
- 先にルータ側のポートフォワーディング設定をしておくこと
- SSH接続をする場合は22番ポートが標準なので攻撃されやすいため、セキュリティの観点からは22番ではなく別の番号を開けて22番に通してあげること
というところでしょうか。
晴れてVNC接続が出来たら、右上のタッチパッドマークをクリックして、タッチパッドを表示してやるとマウスエミュレーションよりも操作しやすい印象です。
iOSは外付けマウスが使えないのでカーソルやクリックは画面上を指で操作することになります。
下のスクリーンショットのようにタッチパッドが表示され、
- タッチパッドの広いエリア: カーソル移動(タップでクリックやダブルタップでダブルクリックにも対応)
- 左下: シングルクリック
- 下真ん中: センタークリック
- 右下: 右クリック
- 右のバー: ウィンドウ内の縦スクロール
- タッチパッドの外: ディスプレイの表示領域の移動
といった操作が出来ます。
iPad版のChrome Remote Desktopだとこの辺の操作がしづらかったのでうれしいですね。
これで結構ちゃんと操作できます。
半角全角切り替えはMac側のIMEで操作するのが良いでしょう。
EC Technology のキーボードで一つ注意なんですが、キーボード配列が英語です。
キーボードマッピングの設定をいじってもダメだったのですが、英語の設定をオーストラリアにしたらいけました。笑
記号を結構使うので発見できて助かりました。。
それでは、安全で快適なVNCライフを!