MacからWindowsにVNC+SSHでリモートアクセス

色々ハマりどころがあるのでメモ。

WindowsVNCサーバは色々あるが、今回はRealVNC日本語インストール版を使用した。

VNCサーバ(アクセスされる側)の設定

環境はVista Home Premium 32bit。

  1. RealVNC日本語インストール版をダウンロード

  2. 解凍して中にあるvncjp-4_1_2-x86_win32.exeを右クリックする(そのまま起動してインストールしてはだめ)

  3. 「管理者として実行」を選択してインストール。Vista, 7ではWindowsサービスとしては正常に動作しないため、サービスの登録等はしなくてよい

  4. VNCサーバをユーザモードで起動

  5. VNCパスワードの設定、ポートの設定、Windowsファイアウォールの設定等を行う

  6. 自動起動したい場合はスタートアップにショートカットを登録

VNCクライアント(アクセスする側)の設定

環境はMac OS X Lion 32bit

  1. VNCサーバのIPアドレス(192.168.0.3など)、ポート番号(デフォルトでは5900)を調べる。

  2. Finderで「サーバへ接続」(⌘K)を選択

  3. サーバアドレスに1.で調べたIPアドレスとポート番号を「vnc://192.168.0.3:5900」のように入力

  4. 正常に接続されれば画面共有アプリが自動で起動し、Windowsのデスクトップが表示される。

SSHトンネリングの設定

VNCの通信は暗号化されないので、LAN内であれば良いがインターネット越しにアクセスする場合はSSHトンネリングで暗号化した方が安全だ。

SSHトンネリングの場合はファイアウォールのポートもSSHのポート(22番ポート)を開くのみでOK。

以下はSSHトンネリングを使用したVNCの設定手順。

  1. http://d.hatena.ne.jp/Guernsey/20091115/1258257335等を参考にVNCサーバ側にFreeSSHd等のSSHサーバをインストールし、VNCクライアント(Mac)からVNCサーバ(Windows)にSSHでアクセスできるようにする。

  2. VNCクライアント(Mac)でターミナルを起動し、「ssh -N -L 10023:localhost:5900 192.168.0.3」を実行(このコマンドを実行するとVNCクライアントの10023ポートの通信は192.168.0.3(SSHサーバ)経由でlocalhost(192.168.0.3から見たlocalhostなので、この場合は192.168.0.3と同じ)の5900に転送される)

  3. Finderの「サーバへ接続」を実行する際のサーバアドレスを「vnc://localhost:10023」にして実行

無事画面共有ができればSSHトンネリング成功です。