意外と簡単に外からでも自宅のWindowsデスクトップが利用できることがわかった。
登場するマシンは以下の通り。
アクセス先windwosは7アルティメイト。手順は以下の通り。
- 自宅サーバにSSHする
- 自宅サーバからスリープ状態のWindows PCをwakeonlanで起こす
- 自宅サーバでトネリングしてWindows PCに3389番ポートを通す
- Windows PCをリモートデスクトップで接続して利用する
準備
自分のWindows PCのマザーボードは、GIGABYTE製のG31M-ES2Lで、BIOSでディフォルトでwakeonlanが受け付けられるようになっていた。ただし、wakeonlanはスリープ状態のPCを起動することしかできない。よって、Windwos 7は使わないときはシャットダウンするのではなく、スリープ状態にしておくという運用をしなければならなかった。
あと、このWindows PCのEthernetのMACアドレスを控えておく必要がある。さらに、Winodws PCのIPは当然ながら固定させておく必要がある。
最後にリモートデスクトップ接続を許可するのを忘れずに(Windows 7はディフォルトで許可していたような気がする)
自宅サーバからスリープ状態のWIndows PCをwakeonlanで起こす
これを、Windows PCのEthernetのMACアドレスを使って、
$./wakeonlan XX:XX:XX:XX:XX:XX
と実行する。すると、スリープ状態のWindows PCが起動する。
自宅サーバでトネリングしてWindows PCに3389番ポートを通す
puttyの設定を開き、「接続->SSH->トンネル」にて、
- 現ポート 7777(好きなポート番号)
- 送り先 Windows PCのIPアドレス:3389(例 192.168.0.10:3389)
という設定を追加する。こうすることで、puttyを開いているPCのポート7777番は自動的にWindows PCの3389番につながるようになる。