sshポートフォワーディングを使ったリモートデスクトップ接続

外出先から自宅のWindows PCにリモートデスクトップ接続をしてみよう。BBルータのNATとフィルタをいじって直接PCにアクセスさせる方法もあるのだが、セキュリティが大甘になるし管理も大変なので、sshのポートフォワーディングを使うことにした。sshサーバはWebサーバとして使っているLinux Boxで、既にインターネットからsshで接続できるように設定をしてある。

構成は以下のとおり
インターネット<=|=>自宅LAN
[PC]---(Internet)---[BBルータ]---[Linux]---[Windows XP]

PCはWindows2000で、リモートデスクトップクライアントのソフトをインストールしてある。sshクライアントとしてはTTSSHを使う。
BBルータはインターネットからLinuxへのssh接続を許可する。
Linuxはsshdのポートフォワードを許可するだけで、デフォルト状態でOK。
Windows XPはリモートデスクトップ接続を有効にしておき、パーソナルファイアウォールも穴をあけておく。リモートデスクトップのポート番号はTCPの3389。

【TTSSHの設定】
①設定>SSH転送メニューを選ぶ。
②追加ボタンを押して、以下のように設定
- ローカルのポート:3389
- リモート側ホスト:192.168.0.x (Windows XPのアドレス)
- ポート:3389
③OKでウィンドウを閉じ、もう一度OKでメインウィンドウに戻る
④設定>設定の保存メニューで設定を保存する。


この設定を行ったら、PCのTTSSHで普通どおりにLinuxへ接続する。そして接続が確立した状態でPCから127.0.0.1(自分)にリモートデスクトップ接続をすると、その通信がsshで転送されてWindows XPへつながる。

なおPC自体がリモートデスクトップ接続を有効にしていると、自ホストのTCP3389がバッティングする。その場合はTTSSHのローカルのポートを13389などに変更して、リモートデスクトップ接続をするときに127.0.0.1:13389に接続をすればOK。

またセキュリティを考慮するのであれば、Windows XPのリモートデスクトップのポートも変えておいたほうがいいとおもう。これはレジストリをいじる必要がある。