conohaで仮想デスクトップ(RDP)


プログラムの開発環境をクラウド化する計画を立ててみました。

とりあえず最低限デスクトップが動くところまでのメモです。

作業環境はconohaにしました。

conohaに乗せる前にAWSで実験してたので、AWSでも同じことができるのは確認済です。

OSセットアップ

今回はFedoraイメージを使いました。最低限としてSSH(pubキー登録、PermitRootLogin no, PasswordAuthentication no)とセキュリティ設定(firewalld)だけしています。

LXDEを入れる

XFCEとか試してみましたが、やはりLXDEが一番軽いですね。

LXDEのインストールはyumのグループインストールで一発で終わります。

sudo yum groupinstall "LXDE Desktop"

入れ終わったら、GUI起動するように設定してサーバを再起動します。

sudo systemctl set-default graphical.target
sudo reboot

ここまでで、conohaでコンソールを開くとGUIログインになります。

xrdpを入れる

今回の本丸ですね。

sudo yum install xrdp
sudo systemctl enable xrdp
sudo systemctl start xrdp

firewallを開ける

Fedoraを使った場合はfirewalldが動いているはずですので、RDPの使うポートを開けておきます。AWSの場合はGUIでセキュリティグループを操作して開けてください。

RDPのデフォルトのポートは3389です。firewalldではms-wbtという名前のサービスとして登録されているようです。

sudo grep "3389" /usr/lib/firewalld/services/*.xml

これを使うのが一番手っ取り早そうですので、firewall-cmdで登録します。

sudo firewall-cmd --permanent --add-service=ms-wbt --zone=public
sudo firewall-cmd --reload

※実際に運用する時はrdpゾーンとか作ってIP制限いれたりしてください

動作確認

Windowsから繋いでみるのが一番確実です。クライアントとしては一番信頼がおけます。

動作確認できたら、Linuxの環境からrdesktopとか使って普通に繋いで使います。

AWSの場合

ついでにAWSでの環境の作り方。

FedoraのコミュニティAMIでインスタンスを作成します(ログインがec2-userではなくてfedoraになることに注意。よく忘れるので……)

LXDEのインストールは一緒。

sudo yum groupinstall "LXDE Desktop"
sudo systemctl set-default graphical.target
sudo reboot

xrdpのインストールも一緒。

sudo yum install xrdp
sudo systemctl enable xrdp
sudo systemctl start xrdp

firewalldはAWSのファイアーウォールをちゃんと設定したら、落としてしまいます。

sudo systemctl stop firewalld

リモートデスクトップ用のユーザーを作ったらおしまい。

sudo useradd <ユーザー名>
sudo passwd <ユーザー名>