Macの画面共有にiPadからアクセスした
要約
実行環境
接続 | マシン | OS |
---|---|---|
先 | MacBook Pro 13inch(mid 2014) | Catalina |
元 | iPad Pro 11(2018) | iOS 13.2.3 |
やったこと
失敗したこと
書かないこと
本題
何を何故やったのか
外出先からMacを触りたくなった時のために画面共有を設定した. Macの画面共有が使うVNCプロトコルは暗号化がされないため, そのまま使用するとどんな作業をしているか丸見えで恐ろしい. いくら自宅LAN内でファイアウォールに守られていようが, WiFiを使っていると結構不安になる. そもそもログインする時のユーザ名とパスワードがどんな状態で送信されてるのか.
対策としてVNC over SSHという方式で通信の安全性を高めた. SSHで暗号化と改竄防止を担保したトンネルを確立, その安全なトンネルにVNCプロトコルを通すと作業内容は秘匿できる. 本当はSSHのポートフォワード以外からは画面共有を受け付けないようにしたかったが, 調べても全く分からなかった. 仕方がないのでデフォルトポートの変更で我慢中.
前提としてiPadからMacへの鍵認証SSH接続は設定済み. 外出先からアクセスするためのVPNサーバも構築済みだ.
MacのSSHとVNCのポートをデフォルトから変更
MacのSSH, VNCサーバを起動する前にやっておくべき. 鍵認証やパスワードで堅牢な守りを立てるのは当然だが, それでも不正アクセスを試みられたログはそこそこ残って精神衛生的に悪い. ポートも変えてしまった方が足跡も激減して安心できる. Macでのポートの変え方はこちらを参考にした.
調べていると*.plistを変えないといけないと書いているページもあるが,
私の場合は/etc/services
の変更だけで動作している.
SSHは上のページの通りでいいが,VNCは
rfb 5900/tcp vnc-server # VNC Server
rfb 5900/udp vnc-server # VNC Server
を
rfb xxxx/tcp vnc-server # VNC Server
rfb xxxx/udp vnc-server # VNC Server
と変える.xxxxには49152–65535の間から好きな数字を入れる.
よくポートには1024以降の数字を指定すると書いてるページがあるが,
wikipediaを見ると
1024–49151も何かしら使われてたりする.
被って不具合が出ても嫌だから49152–65535から選ぶと良さそう.
iPadからMacへ鍵認証方式でSSH接続を設定
よしなに.自分はBlinkを使ってssh-keygenした.
iPadにVNCクライアントを導入
JUMP DESKTOPならVNC over SSHを使えて かつRSA暗号化鍵が使えた. 設定は特に難しいこともなく,最初にVNC接続の設定を作ってから 改めて編集でsshトンネルを追加する.
ただ秘密鍵の登録で困ったことがあった. Blinkで生成した秘密鍵をコピペしようとしても受け付けてくれなかったのだ. 苦肉の策でBlinkから秘密鍵をiCloudフォルダにコピー, その後MacのFinderでJUMP DESKTOPのフォルダに秘密鍵を移動した. 秘密鍵がクラウドを経由(同期が間に合ったかは知らないが)しているのが気持ち悪かった.
Macで画面共有とリモートログインをオンにして接続
何も苦労なく繋がった. 接続は簡単だが,Macで画面共有にかけたはずのパスワードが確認されないわ, 秘密鍵のパスフレーズが2回目以降は確認されないわで 期待したセキュリティになっているかは怪しい. 後者についてはパスフレーズに嘘の文字列を登録しておくと 接続時に正しいパスフレーズを確認される.
失敗
scpでのファイル転送
RSA暗号化鍵が使えないVNCクライアントの購入
このページを参考にRemoter Proを購入して秘密鍵をコピペしようとしたら
iPadでSSH&VNCを使ったリモート・デスクトップ環境構築
暗号化はDES-EDE3-CBCしか受け付けてくれない.
簡単に調べたところDESは暗号強度が低いからRSAに変えるべきらしく,今回のセキュアなVNCの目的からしたら論外.(暗号方式ついてはよく分かってないので違ったら教えて下さい)
以上