お世話になっております、日商エレの佐藤です。
ITプラットフォーム事業本部でコンピューティング系のプリセールスを担当しています。
今回はAzureのLinux(Ubuntu)マシンにリモートデスクトップ接続を行ってみたいと思います。Microsoftのクラウドサービスだから、利用者の殆どはWindowsかと思いきや2017年時点、Azure上で動作する仮想マシンの40%をLinuxが占めているそうです。今後、デジタルトランスフォーメーションへの取り組みが本格化する中で、LinuxやOSS(Open-source software)の活用も加速していくでしょう。
AzureではOSSにもかなり力をいれておりますので興味がある方はこちらをご覧下さい。
Azure のオープン ソース

※画面データは2018/02/22 時点のものです。



さて、本題のLinuxマシンへのリモートデスクトップ接続の話ですが、Azure上でLinuxマシンを作成すると通常はSSH接続を使用してコマンドラインからLinuxマシンを管理します。簡単なオペレーションなどはWindowsのようにリモートデスクトップを使用できると便利です。今回はLinuxマシン作成後、Linuxマシンへリモートデスクトップ接続を実現するために、「Xfce」と「xrdp」をインストールしていきます。
Xfceとは、UnixライクなOS上で動作するデスクトップ環境です。ubuntuの一部のディストリビューションでは標準のデスクトップ環境として採用されています。Linux系のメジャーなディストリビューションではパッケージで提供されていることも多いですね。xrdpは、OSSで開発されているRemote Desktop Protocol のサーバソフトウェアです。 本環境構築する上で仮想マシンの構成要素をご参考までに掲載しておきます。必要に応じてご覧下さい。

仮想マシンの構成要素

Linux(Ubuntu)マシン作成

まず、最初にLinuxマシンを作成します。

(1) Azure Portalにログインし、左上の「リソースの作成」 – 「Compute」 – 「Ubuntu」の順にクリックします。

Azure Portal Ubuntu Server

(2)仮想マシンに必要な情報である仮想マシン名、ユーザ名、パスワードなど必要情報を入力し、「OK」をクリックします。

仮想マシンの作成基本情報の入力

(3)仮想マシンのサイズを選択します。検証用ですので、お勧めの3つの中から一番安価なモデルを選択します。サイズを選択すると「選択」ボタンがクリックできるようになります。「選択」をクリックします。

仮想マシンのサイズ選択

(4)検証用であるため、オプション機能の構成はデフォルトのままとします。「OK」ボタンをクリックします。

仮想マシンオプション機能の構成

(5)仮想マシン設定内容のサマリーが表示されます。内容相違なければ「作成」をクリックします。

仮想マシン設定内容のサマリー

(6)仮想マシンの作成が開始されるとダッシュボード上に以下のようなタイルが表示されます。

ダッシュボード上のタイル

(7)本環境では3分程度で仮想マシン作成が完了しました。一旦、SSHログインするため「接続」をクリックします。

SSHログインのため接続

(8)接続ボタンをクリックすると以下のようなメッセージが表示されます。SSHログインに必要な ログイン名@IPアドレスが記載されています。確認したら「OK」ボタンをクリックします。

接続確認メッセージ

(9)Tera termやPuTTYなど、SSH接続可能なターミナルソフトを使用し、Linuxマシンにログインします。

ターミナルソフトでLinuxマシンにログイン

Linuxマシンにデスクトップ環境をインストール

(10)デスクトップ環境であるXfce4をインストールします。 LinuxのDebian系パッケージ管理 aptコマンドを使用し以下2つを実行していきます。

sudo apt-get update
sudo apt-get install xfce4

(11)まずは、updateを実行します。完了画面は以下の通りです(1分かからず)。

sudo apt-get update

updateの実行

(12)そして、Xfceインストールを実行します。完了画面は以下の通りです(6分ほど)。

sudo apt-get install xfce4

Xfceインストールを実行

Linuxマシンにリモートデスクトップサーバをインストール

(13)Xfceのデスクトップ環境がインストールできましたので、次にxrdpインストールを実行します。完了画面は以下の通りです(1分かからず)。

sudo apt-get install xrdp

xrdpインストールを実行

(14)セッションの開始時に使用するデスクトップ環境をxrdpに指定します。Xfce をデスクトップ環境として使用するようにxrdpを構成します。完了画面は以下の通りです。

echo xfce4-session >~/.xsession

xrdp構成完了

(15)xrdp サービスを再起動して、変更内容を有効にします。完了画面は以下の通りです。

sudo service xrdp restart

xrdp restart

ネットワークポートの開放

(16)リモート デスクトップのトラフィックを Linuxマシンに接続できるようにするには、ポート 3389 で Linuxマシンへの TCP の接続を許可するNetwork Security Group (NSG)のルールを作成する必要があります。 Linuxマシンの設定にある「ネットワーク」 – 「受信ポートにある規則を追加する」を順にクリックします。

Network Security Group (NSG)のルールを作成

(17)xrdpが使用する通信ポート3389を「ポートの範囲」の欄に入力します。入力すると「名前」の欄にも情報が反映されます。「優先度」の欄はデフォルト値としました。この規則は優先度に従って処理されます。数値が小さいほど、優先度は高くなりますので、本番環境使用時は注意してください。入力完了したら「OK」ボタンをクリックします。

通信ポートの入力

(18)セキュリティ規則の情報が反映されるとリストに追加されます。名前の欄にオレンジの△印の警告(!)が表示されています。これはインターネットに公開されているため、テストのみ推奨しているという意味です。運用環境ではVPNまたはプライベート接続の使用をお勧めします。

セキュリティ規則の情報反映

Linuxマシンにリモートデスクトップで接続

(19)Linuxマシンへリモートデスクトップ接続します。指定のIPアドレスを入力し「接続」ボタンをクリックします。

Linuxマシンへリモートデスクトップ接続

(20)接続が完了するとマシンへリモートデスクトップ接続します。xrdpのログイン画面にユーザ名とパスワードを入力し「OK」ボタンをクリックします。

xrdpのログイン画面

(21)認証されると、Xfce デスクトップ環境が読み込まれ以下のような画面が表示されます。

Xfce デスクトップ環境

(22)(21)の画面が表示されない場合、なんらかのサービスが応答していない可能性があります。実際、初回の 環境でxrdp-sesmanサービスがリッスンしておらず、サービス再起動で無事にXfceデスクトップ環境が読み込まれました。その際は、SSH画面から以下コマンドを実行し、ポートのリッスン状態を確認します。

sudo netstat -plnt | grep rdp

SSH画面からコマンドを実行

xrdp-sesman サービスがリッスンしていない場合は、以下のコマンドを実行しサービスを再開させます。

sudo service xrdp restart
Linuxのリモートデスクトップで接続するのは思いのほか、簡単にできましたので是非お試しください。


この記事を読んだ方へのオススメコンテンツはこちら


この記事を書いた人

Azure導入支援デスク 編集部
Azure導入支援デスク 編集部
こんにちは!双日テックイノベーション(旧:日商エレクトロニクス)では、Microsoft Azure活用に関する有益な情報を皆様にお届けしていきます。Azure移行、データ活用、セキュリティなどに関するお困りごとや、Microsoft Azureに関する疑問点などお気軽にご相談ください。

ブログにしてほしいネタなどのリクエストもお待ちしております。