デスクトップ機能から PuTTY を使用して Amazon EC2 Linux インスタンスへの接続を開始すると、ターミナルアクセスは可能ですが、デスクトップ機能へのアクセスは許可されません。

この記事では、Windowsのリモート デスクトップ クライアントを使用して、Ubuntu 16.04が稼働しているAmazon EC2 Linuxインスタンスに接続する方法について記載しています。これらの手順では、リモート デスクトップ プロトコル(RDP)サーバー(xrdp)、軽量なデスクトップ環境(xfce4といくつかのプラグイン)そしてグラフィカルなデスクトップ共有システムをインストールします。(tightvncserver).また、RDPクライアントのリクエストを適切なデスクトップ環境のセッションに適切に転送するにはどうするのかもこれらの手順で記載しています。これらの手順は、Ubuntu 16.04のAmazon EC2 Linuxインスタンス特有のものです。この記事で使用しているAmazon Machine Image (AMI) は ami-835b4efaです。Linux AMIの場所を特定する方法について詳しくは、 「Linux AMI の検索」 をご覧ください。

重要 EC2 Linuxインスタンスのデスクトップにリモートからアクセスする場合は、ポート フォワーディングを使用し、SSH経由でのRDPクライアント接続をトンネル化するのが、セキュリティ的に最善の手法と考えられます。RDPクライアントからEC2 Linuxへの接続をSSH経由でトンネル化することについて詳しくは、 「Windows からデスクトップ機能を使用して Amazon EC2 Linux インスタンスに接続する方法を教えてください。」をご覧ください。

ひとこと Amazon LinuxはいかなるデスクトップのGUI機能も提供しません。そのため、Amazon版のLinuxが稼働している EC2 Linuxインスタンスは、RDPクライアントから接続して設定を行うことはできません。

1.    お客様がUbuntu 16.04 LTSのインスタンスをお持ちでない場合は、 「Amazon EC2 Linux インスタンスの開始方法」 の手順1を完了し、Ubuntu 16.04 LTSが確実に起動できるようにしてください。

2.    「PuTTY を使用した Windows から Linux インスタンスへの接続」で記載されているように、インスタンスに接続できることを確認します。インスタンスに接続するときは、ユーザー名として 'ubuntu' を指定してください。

3.    RDPクライアント用にインスタンスを構成する前に、お客様のEC2インスタンスの 'baseline' バックアップを作成することを検討してください。「Amazon EBS スナップショットの作成」 に記載されているように、お客様のインスタンスのルート デバイスとして提供されているAmazon EBSのスナップショットを作成することで実現できます。インスタンスのルート デバイスとして提供されているEBSボリュームのスナップショットを作成する前に、常にEC2インスタンスを停止する必要があることにご注意ください。スナップショット作成を行った後、EC2インスタンスを再起動することができます。

4.    EC2 Linuxインスタンスに接続または再接続します。

5.    ターミナルから以下のコマンドを実行して更新を確認し、更新をインストールします。

sudo apt update && sudo apt upgrade

6.    Windows リモートデスクトップから接続するため、パスワード認証を許可するように Linux インスタンスの sshd_config ファイルを編集します。

sudo sed -i 's/^PasswordAuthentication no/PasswordAuthentication yes/' /etc/ssh/sshd_config

7.    SSH デーモンを再起動すると、この変更が有効になります。

sudo /etc/init.d/ssh restart

8.    一時的に root 権限を取得し、ubuntu ユーザーのパスワードを複雑なパスワードに変更することで、セキュリティを強化します。コマンド「passwd ubuntu」を入力して Enter キーを押すと、新しいパスワードを 2 回入力するように求められます。

sudo passwd ubuntu

9.    xrdpと、xfce4デスクトップ環境といくつかのプラグイン、そして仮想ネットワーク コンピューター(vnc)サーバーをインストールします。

sudo apt install xrdp xfce4 xfce4-goodies tightvncserver

10.   xfce4 を RDP 接続のデフォルトのウィンドウマネージャーにします。

echo xfce4-session> /home/ubuntu/.xsession

11.   .xsession を /etc/skel フォルダーにコピーして、新たに作成されるすべてのユーザーアカウントのデフォルトのウィンドウマネージャーとして xfce4 が設定されるようにします。

sudo cp /home/ubuntu/.xsession /etc/skel

12.   sedコマンドを実行して、 /etc/xrdp/xrdp.iniファイルの [xrdp1] セクションを更新し、接続しようとするホストのポートを変更できるようにします。

sudo sed -i '0,/-1/s//ask-1/' /etc/xrdp/xrdp.ini

このコマンドは最初のオカレンスの'-1'を'ask-1'に変更し、 /etc/xrdp/xrdp.iniファイルの [xrdp1] セクションは以下のようになります。
[xrdp1]
name=sesman-Xvnc
lib=libvnc.so
username=ask
password=ask
ip=127.0.0.1
port=ask-1

13.   xrdp を再起動します。

sudo service xrdp restart

14.   Windows で、リモートデスクトップ接続クライアントを開き、[Computer] に Amazon EC2 インスタンスの完全修飾名を貼り付け、[Connect] をクリックします。
ひとことAppleのMacintoshコンピューターでRemote Desktop Connectionクライアントをお使いの場合は、 [Connection Log] というタイトルの画面が表示され、 "error - problem connecting" というエラーメッセージが表示されることがあります。この場合は、 [OK] を選択して [Connection Log] 画面を消します。 [Login to xrdp] 画面が表示されたら認証情報を入力し、ポートの値として -1を指定してから[OK] をクリックすると、EC2 Linux インスタンスに接続します。

15.   xrdp にログインするように求められたら、sesman-Xvnc モジュールが選択されていることを確認し、ユーザー名 ubuntu と共に、ステップ 8 で作成した新しいパスワードを入力します。セッションを開始するとき、ポート番号は -1 です。

16.   システムが接続すると、いくつかのステータスメッセージが [Connection Log] 画面に表示されます。これらのステータスメッセージに細心の注意を払い、表示された VNC ポート番号を記録しておきます。後でセッションに戻る場合は、xrdp のログインダイアログボックスの [port] フィールドに、この番号を指定します。

xrdp ポート番号

重要 デフォルトのアカウントはお客様のインスタンスの管理者権限を取得することができるため、EC2インスタンスへリモート アクセスする目的のためには、より権限が少なく、強固なパスワードを設定したユーザーアカウントの作成を検討してください。お客様のインスタンスに新しいユーザーアカウントを追加する方法について詳しくは、 「How do I add new user accounts with SSH access to my Amazon EC2 Linux instance?」をご覧ください。 パスワード認証を有効にしているため、デフォルトのユーザー アカウントの名前を 'Ubuntu' から何か他のものに変更することも検討してください。 'Ubuntu' はUbuntuが稼働しているすべてのEC2 Linuxインスタンスのデフォルトのユーザー アカウントです。


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

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

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

公開日: 2017 年 09 月 29 日