EC2インスタンスがリモート デスクトップ プロトコル(RDP)経由での接続をサポートしています。デフォルトでは、リモート デスクトップ プロトコルは有効なユーザー名とパスワードの組み合わせによるリクエストを認証します。現在EC2 Linuxインスタンスに関連付けているセキュリティ グループやネットワークACLリソース上の追加のポートを開かないようにするには、RDPによるEC2 Linuxインスタンスへの接続をどのように構成したらよいですか?

デフォルトでは、Windowsのリモート デスクトップ プロトコル(RDP)は、クライアントからの接続リクエストに対してユーザー名とパスワードでの認証を要求します。EC2インスタンスに関連付けられているセキュリティ グループかネットワークACLリソース、またはその両方のルールを編集して、TCPポートの3389番へのアクセスをRDPクライアントに許可することもできますが、これはインスタンスへの潜在的なアタック サーフェスを増加させるため、お勧めしません。潜在的なアタック サーフェスを最小限に保つためには、RDPクライアントからお客様のEC2インスタンスにアクセスするときに、SSHトンネリングやRDPリクエストのポート フォワーディングを使用することが最善の手法です。

ここに記載している方法のどれか一つを使って、お客様のWindowsコンピューターからEC2 LinuxインスタンスへのRDP接続を確立します。最初の2つの方法はSSHを使用したRDPのローカル ポート フォワーディングで、ポート22番(またはSSHで使用している他のポート)経由でEC2 LinuxインスタンスへのRDP接続を可能にします。SSHを使用したRDPのローカル ポート フォワーディングを使っている場合は、EC2 Linuxインスタンスに関連付けているセキュリティ グループかネットワークACLリソース、またはその両方のために、ポート3389番を開ける必要はありません。

ひとこと これらの手順は、すでにお客様がリモート デスクトップ接続のためにEC2 Linuxインスタンスを用意していることを前提としています。リモート デスクトップ接続のためにEC2 Linuxインスタンスを構成する方法についての記事へのリンクは、この記事の関連情報セクションをご覧ください。Amazon Linuxはリモート デスクトップ接続をサポートしません。

オプション1。SSHを使用したRDPのローカル ポート フォワーディングのためにWindows版のPuTTYを構成します。

Windows版のPuTTYは広く使われているSSHクライアント プログラムで、Linuxへの安全なターミナル アクセスを提供します。PuTTYは以下のURL http://www.putty.orgからダウンロードできます。WindowsからEC2インスタンスに接続するためにPuTTYを使用することについて詳しくは、 「PuTTY を使用した Windows から Linux インスタンスへの接続」をご覧ください。SSHを使用したRDPのローカル ポート フォワーディングを構成する前に、PuTTYを使用してお客様のEC2 LinuxインスタンスにSSHで接続できることを確認してください。

SSHでお客様のインスタンスに接続するようにPuTTYを構成した後、WindowsからEC2 Linuxインスタンスに接続を開始してください。そしてこれらの手順を完了して、SSHを使用したRDPのローカル ポート フォワーディングをセットアップしてください。

1.    ifconfigコマンドを実行して、インスタンスに関連付けられた内部IPアドレスを決定します。内部IPアドレスは、一般的にはeth0インターフェイスに割り当てられ、inet addr:xxx.xxx.xxx.xxx;のように表示されます。

eth0     link encap:Ethernet HWaddr 0b:3c:4b:5c:6d:7e
         inet addr:10.0.0.55  Bcast:10.0.0.255  Mask:255.255.255.0

2.    タイトルバーを右クリックし、[Change Settings] を選択して [PuTTY Reconfiguration] 画面を表示します。

3.    [PuTTY Reconfiguration] 画面の左側で、 [Connection] カテゴリーを展開し、 [SSH] カテゴリーを展開して、 [Tunnels] を選択します。これで "Options controlling SSH port forwarding" というタイトルのついた画面が表示されます。

4.    [Add new forwarded port:] の下と、 [Source port] の右側に、3388などの割り当てられていない有効なポート番号を入力します。ポート番号の一覧と、それらのポートが現在割り当てられているかどうかは、IANAの 「Service Name and Transport Protocol Port Number Registry」をご覧ください。

5.    [Destination] の右側に、「:3389」に続けてEC2インスタンスの内部IPアドレスを入力します。例えば、「10.0.0.55:3389」のようになります。

6.    [Add] を選択します。これでフォワードされたポートの一覧に、エントリーが1つできたはずです。

7.    PuTTYの設定画面の左上にスクロールし、新しい名前を入力して [Save] を選択するか、 [Saved Sessions] の一覧からすでにある名前を選択して [Apply] を選択します。

8.    リモート デスクトップ クライアント(mstsc.exe)を起動します。[Computer:] の隣にIPアドレス「127.0.0.1」を入力し、続けてコロン(:)と、先に指定した未使用のポート番号を指定します。例えば、「127.0.0.1:3388」のように指定します。

9.    [Connect] を選択して、EC2インスタンスへのリモート デスクトップ接続を開始します。「127.0.0.1:3388」に接続すると、ポート3389を通して、お客様のインスタンスの内部IPアドレスへ転送されます。ログイン画面が表示され、先に作成したLinuxディストリビューションのインスタンスのユーザー名とパスワードで、お客様のインスタンスにログインできるようになります。

オプション2。WindowsのUbuntuでBushを使い、RDPのローカル ポート フォワーディングを構成します。

この方法はいくつかの点ではさらに難しくなります。それはWindows Subsystem for Linux(WSL)が、まだすべてのWindows バージョンで利用できないことによります。Windows Subsystem for LinuxとUbuntuのBashをWindowsにインストールできれば、BashでWSLを使うことで、SSHを使用したRDPのローカル ポート フォワーディングを構成する手順が、WindowsのPuTTYを使うよりもはるかにずっと簡単になることに気づくでしょう。お客様のWindowsバージョンがWSLとBashのインストールをサポートしているかどうかを判断するには、「Windows Subsystem for Linux Documentation」をご覧ください。

Windows Subsystem for LinuxとWindowsのUbuntuのBashをインストールできる場合は、これらの手順に従って、SSHを使用したRDPのローカル ポート フォワーディングを設定してください。

1.    [Amazon EC2 console] にサインインし、リモート デスクトップ(RDP)で接続したい稼働中のEC2 Linuxインスタンスを選択します。

2.    EC2コンソールの最上部で [Connect] を選択し、お客様のインスタンスに接続するためのオプションを表示します。お客様のインスタンスへの接続を開始するとき、WindowsのUbuntuのBashでSSHを使用することになるので、Ubuntuインスタンスがお客様のプライベート キー(*.pem ファイル)にアクセスできることと、ポート フォワーディングを提供するためにUbuntuインスタンスが Example で示されている構文を変更できることを確認してください。

例えば、以下のコマンド ラインの引数は、表示されているサンプルの構文がどのように見えるのかを表します。

ssh -i "mytestcert.pem" ubuntu@ec2-192-168-5-55.us-west-2.compute.amazonaws.com

3.    このサンプルを、「-i」より「-L 3388:localhost:3389」が先行するように変更します。
ひとことIANA Service Name and Transport Protocol Port Number Registry に記載されている有効で未割当のポート番号であれば、どれでも3388の代わりに使用できますが、Windowsのリモート デスクトップクライアントでEC2 Linuxインスタンスに接続するときにもその同じポート番号を使用する必要があります。

ssh -L 3388:locahost:3389 -i "mytestcert.pem" ubuntu@ec2-192-168-5-55.us-west-2.compute.amazonaws.com

4.    WindowsのUbuntuのBashを起動し、変更したSSHコマンドを実行します。

  1. Windowsのリモート デスクトップ クライアント(mstsc.exe)を起動します。
  2. [Computer:] の隣にIPアドレス「127.0.0.1」を入力し、続けてコロン(:)と、先に指定した未使用のポート番号を指定します。例えば、「127.0.0.1:3388」のように指定します。
    ひとことこのポート番号は、お客様が初めてSSHを使用してEC2インスタンスに接続したときに使用したポート番号と一致している必要があります。
  3. [Connect] を選択して、EC2インスタンスへのリモート デスクトップ接続を開始します。「127.0.0.1:3388」に接続すると、ポート3389を通して、お客様のインスタンスの内部IPアドレスへ転送されます。ログイン画面が表示され、先に作成したLinuxディストリビューションのインスタンスのユーザー名とパスワードで、お客様のインスタンスにログインできるようになります。

オプション3。SSHを使用したRDPのローカル ポート フォワーディングの構成を行わずに、RDPを使用してお客様のEC2 Linuxインスタンスに接続します。

SSHを使用したRDPのローカル ポート フォワーディングを構成できない場合でも、Windows リモート デスクトップ クライアントを使えば、リモート デスクトップをサポートするEC2 Linuxインスタンスに接続できます。

  • インスタンスに関連付けられているセキュリティ グループかネットワークACLリソース、またはその両方のために、ポート3389を開きます。
  • Windowsのリモート デスクトップ クライアントでインスタンスに接続するときに、[Computer] にインスタンスの完全修飾名を指定します。
  • 「Secure RDS(Remote Desktop Services)Connections with SSL」 にある推奨事項について検討してください。また、インスタンスへリモート アクセスする目的のためには、より権限が少なく、強固なパスワードを設定したユーザーアカウントの作成を検討してください。インスタンスに新しいユーザーアカウントを追加する方法について詳しくは、 「How do I add new user accounts with SSH access to my Amazon EC2 Linux instance?」をご覧ください。

お客様のインスタンスにユーザー名とパスワードで認証してアクセス可能なエントリー ポイントを晒すことになるため、 インスタンスのデフォルトのユーザー アカウントの名前(「ec2-user」や「ubuntu」)を、何か分かりにくいものに変更することを検討してください。 


このページは役に立ちましたか? はい | いいえ

AWS サポートナリッジセンターに戻る

サポートが必要ですか?AWS サポートセンターをご覧ください。

公開日: 2017 年 09 月 29 日