Create: 2012/11/08
LastUpdate: 2012/11/08
企業などでEC2インスタンスを利用する場合、ファイヤーウォールに阻まれて、社内からは、直接、リモートデスクトップ接続できない場合があります。
そんな場合でも、HTTPプロキシサーバがあれば、プロキシ経由でリモートデスクトップ接続できる場合があります。
下図は接続のイメージです。
WindowsをインストールしたEC2インスタンスに、SSHトンネルを使って、HTTPプロキシ経由で接続します。
会社側のリモートデスクトップの直接の通信相手は、PuTTY になります。PuTTY はAWSのEC2インスタンス(AmazonLinux)とSSH接続しています。
赤い部分のSSH接続の中にリモートデスクトップ用のパケットを流してAWSのWindowsと通信を行います。
ここでの手順確認に使用するプロキシサーバは、 ユーザ認証を必要とします。
HTTPで connect が許可されていないプロキシの場合は失敗するので、SSHのポートを443にしてHTTPSで通信するようにします。
[プロキシサーバ]
- IPアドレス:192.168.1.82
- ポート:8080
- ユーザ:canopus
- パスワード:password
- 特記事項: CONNECTの使用許可があること
1.AWS側の作業
1.1.EC2インスタンス(AmazonLinux)の起動
今回は、 AmazonLinux を使用します。
このAmazonLinuxのSSHサーバの設定を変更してパケットの転送を許可します。
/etc/ssh/ssh_config を以下のように修正します。
AllowTcpForwarding yessshサービスを再起動します。
$ sudo service sshd restartこのEC2インスタンスのセキュリティ・グループは以下のとおり。SSHのポートを空けています。
1.2.EC2インスタンス(Windows)の起動
リモートデスクトップ接続する相手になるEC2インスタンスを起動します。
今回は、 Windows2003Server を使用します。
このEC2インスタンスのセキュリティグループは以下のとおり。RDPのポートを空けています。
2.クライアント側の作業
2.1.Putty のSSHポートフォワーディング接続
下図の画面が表示されたら、EC2インスタンス(AmazonLinux)のホスト名を入力します。
下図の画面では、プロキシサーバの情報を入力します。
下図の画面では、 Putty用に変換したキーペア(秘密鍵) を入力します。
下図の画面では、ポートフォワーディングの設定を行います。
[源ポート] は、リモートデスクトップ・クライアントの接続先ポートになります。
ローカルの未使用ポート番号なら何でもOKです。
[送り先]は、SSHサーバ側(AmazonLinux)が、どこにパケットを転送するか指定します。
ここでは、EC2インスタンス(Windows)のプライベートIPとRDPのポート番号を指定しています。
[追加]ボタンをクリックして登録します。
下図のように表示されれば、ポートフォワーディングの設定はOKです。
[開く]ボタンをクリックします。
下図のように、AmazonLinux のユーザを入力して接続できればOKです。
このままSSH接続を切らずに置いておきます。
2.2.リモートデスクトップ接続
リモートデスクトップ・クライアントを起動します。
下図の画面が表示されたら、[コンピュータ]に "localhost:13389" と入力して、上記のPutty を指定します。
[接続]ボタンをクリックします。
下図の画面が表示されたら成功です。
EC2インスタンス(Windows)のユーザ/パスワードでログインして使用できます。
■補足
SSHサービスを変更できない場合は、多段のSSHポート転送で代用できます