前回Windows Web Server 2008 R2のFreeSSHdの設定と鍵認証用の鍵ファイル作成をしてLAN内でSSH接続できるところまで確認しました。
Windows Web Server 2008 R2を外部からリモートアクセスするには その2 » sa-sa-ki.jpのblog
今回はSSHポートフォワードをして外部から自宅のWindows Web Server 2008 R2をリモートデスクトップで接続したいと思います。
まずは自宅ルーターのIPマスカレードの設定を行い、外部から来る22番ポート(SSH)へのアクセスをWindows Web Server 2008 R2に変換します。
ちなみに我が家のルーターMICRO RESEARCH社のNetGenesis SuperOPT-GFiveですと[WANポートの設定]-[IPマスカレードテーブル設定]をクリックし、PPPoEポート1(セッション1)登録リストに
プロトコル:TCP
先頭ポート番号:22
終了ポート番号:22
変換IPアドレス:192.168.0.101 (Windows Web Server 2008 R2のIPアドレス)
を登録します。
続いてポートフォワードの設定を行います。
そもそもポートフォワードって何?って話ですが、IT用語辞典には
とあります。
ポートフォワーディングとは 【port forwarding】 - 意味/解説/説明/定義 : IT用語辞典
今回はクライアントPCの13389ポートをWindows Web Server 2008 R2の3389ポート(リモートデスクトップ)へ送信できるようにします。
クライアントのTeraTermを起動し、新しい接続ダイアログは[キャンセル]ボタンをクリックして閉じます。
TeraTermのメニューバーから[設定(S)]-[SSH転送(O)]を選択します。
SSHポート転送ダイアログが表示されますので[追加(A)]ボタンをクリックします。

ポート転送を行う向きはローカルからリモートなので上の欄に入力して[OK]ボタンをクリックします。
ローカルのポート:13389
リモート側のホスト:localhost
リモート側ホストのポート:3389

注意点は「リモート側ホスト」に入力するIPアドレスを勘違いされる方が結構多いそうで恥ずかしながらyasuも最初勘違いしていたのですが、ここに入力するIPアドレスはSSHサーバーからみたリモートデスクトップのサービスが動いているサーバーのIPアドレスになります。
今回リモートデスクトップのサービスが動いているWindows Web Server 2008 R2にSSHサーバーを構築しているのでlocalhostとしています。
例えば別マシンにLinuxでSSHサーバーを構築している場合は、そのLinuxマシンからみたWindows Web Server 2008 R2の(LAN内の)IPアドレスを入力します。
ポート転送の一覧に「ローカルの 13389 からリモート側ホスト"localhost"のポート 3389」と表示されている事を確認して[OK]ボタンをクリックします。

TeraTermのメニューバーから[ファイル(F)]-[新しい接続(N)]を選択します。
新しい接続ダイアログが表示されるので接続先情報を入力します。
※ホスト名は各自の環境にあわせて入力してください。

セキュリティ警告が表示されたら[続行(C)]ボタンをクリックします。

ユーザ名とパスフレーズ、RSA/DSA鍵を使うのファイル名を選択して[OK]ボタンをクリックします。

スタートアップメニューから[プログラム]-[アクセサリ]-[リモートデスクトップ]を選択してリモートデスクトップを起動します。
コンピュータに localhost:13389 と入力して[接続(N)]ボタンをクリックすると・・・

自宅のWindows Web Server 2008 R2のログイン画面が表示されるのでパスワードを入力して[Enter]キーを押すと

自宅のWindows Web Server 2008 R2のデスクトップが表示されました。

これで外部から安全に自宅のWindows Web Server 2008 R2を操作できるようになりました。
次回はVNCをインストールして外部のMac OS XやLinuxからも安全に自宅のWindows Web Server 2008 R2を操作できるようにしたいと思います。



















