外出先でも自宅のPCにアクセスしたい。
しかもGUIで。
そういう思いでいろいろ調べて設定しました。
基本的にはVNCというアプリを使用する。
でもVNCは基本的に暗号化はされていないので、
入力した内容がそのまま通信されることになる。
この状態でパスワードなんて入力したら大変だ。
それ以前に、ルータの壁をどうやって乗り越えるかが問題になる。
そのため、以下の方法を使用する。
- ルータにSSHのアクセスを自宅PCにポートフォワーディングする
- SSHをトンネルにして、VNC接続する
方法はいろいろあるんだけど、
これが一番現実的でセキュアな方法だと思う。
で、以下が実際に設定した内容。
●ルータの設定
変更した内容は以下の通り
- DMZを有効にする。転送先を自宅PCのローカルIPに設定する
- ポートフォワーディングを設定する。SSHの接続を自宅PCのローカルIPに設定する。なお、ポート番号は通常は22(変更は可能)
●自宅PCの設定
内容は以下の通り
- SSHサーバを立てる
使用したのはPowerShell Server
http://www.powershellserver.com/download/
設定箇所は二箇所
設定が完了したらSTARTをクリックしてサーバを起動
(使用しないときはSTOPしておいた方が良い)
この状態で、リモートPCからSSH接続できることを確認する。
接続先のIPアドレス(外部からアクセスできるルータのIP)は、自宅PCから以下のサイトにアクセスすることでわかる
https://www.akakagemaru.info/port/iphost.php
ログインできれば成功
- VNCサーバを立てる
使用したのはUltraVNC
http://forest.watch.impress.co.jp/library/software/ultravnc/
サーバを立ち上げたらローカルネットワークからVNC接続できることを確認した方が良い。
●リモートPCの設定
内容は以下の通り
- SSH転送の設定
使用したのはTeraterm
https://ja.osdn.net/projects/ttssh2/releases/
設定→SSH転送を選択し、追加をクリック
ローカルのポート番号は任意
リモート側ホストにはルータの外向けIPアドレス、ポート番号はVNCサーバのポート番号(通常は5900)を設定
ルータの外向けIPアドレスに接続し、ログインする
- VNCクライアントの設定
UltraVNCを使用する
接続先はlocalhost、ポート番号はSSH転送のローカルポートに設定した番号
ログインできればOK