xrdp は オープンソースで開発されたサーバー ソフトウェアです。
機能的には、Remote Desktop Protocol (RDP) 経由で接続できる Linux ターミナル サーバーとして動作し、rdesktop や freeRDP、Microsoft のターミナル サーバーおよびリモート デスクトップ クライアントから接続、GUI で操作できることを目的としています。
※ただし、Windows Server のようなリモート デスクトップ の機能を提供しているわけではなく、実際には X window デスクトップを表示させています。
Windows から Linux にリモート GUI 接続する場合、VNC の利用や、 Linux を Hyper-V の仮想マシンとして動作している環境であれば Hyper-V マネージャー スナップインを利用することで可能ですが、Windows の場合には別途 VNC ソフトウェアが必要だったり、Linux サーバーが物理構成などの場合には、Hyper-V マネージャー スナップインは利用できません。
その点、xrdp を Linux サーバーにインストール / 設定することで、Windows からは RDP 接続 (mstsc.exe) 経由で接続、GUI 操作することが可能となります。
以前、「xrdp を用いて Windows から CentOS にリモート デスクトップ接続する」でも手順について纏めましたが、今回は CentOS 7 に対して RDP 接続する手順を纏めてみました。
※xrdp のバージョンは 0.6.1-2、Linux サーバーは CentOS 7、RDP 接続する Windows OS は Windows 2012 R2 を用いています。
[インストール / 設定手順]
- 管理者 (root) 権限になれるユーザーでサーバーにログインします。
- 端末を起動、端末上に以下のコマンドを入力 / 実行し、管理者権限に昇格します。
su -
※パスワードの入力を求められた場合は、 root のパスワードを入力します。
- xrdp はデフォルトのパッケージには含まれていないため、端末上に以下のコマンドを入力 / 実行し、外部レポジトリとして EPEL (エンタープライズ Linux 用の拡張パッケージ) パッケージをダウンロード、インストールします。
mkdir EPEL cd EPEL wget http://dl.fedoraproject.org/pub/epel/7/x86_64/e/epel-release-7-5.noarch.rpm wget http://li.nux.ro/download/nux/dextop/el7/x86_64/nux-dextop-release-0-5.el7.nux.noarch.rpm rpm -ivh epel-release-7-5.noarch.rpm rpm -ivh nux-dextop-release-0-5.el7.nux.noarch.rpm
- 端末上に以下のコマンドを入力 / 実行し、xrdp、および関連する tigervnc-server をインストールします。
yum install -y xrdp tigervnc-server
- 端末上に以下のコマンドを入力 / 実行し、RDP接続の際、日本語キーボード対応にします。
cd /etc/xrdp wget http://www.mail-archive.com/xrdp-devel@lists.sourceforge.net/msg00263/km-e0010411.ini cp km-e0010411.ini km-0411.ini cp km-e0010411.ini km-e0200411.ini cp km-e0010411.ini km-e0210411.ini
- 端末上に以下のコマンドを入力 / 実行し、xrdpのサービスを起動し、自動起動を有効にします。
systemctl start xrdp.service systemctl enable xrdp.service
- 端末上に以下のコマンドを入力 / 実行し、ファイアウォールが有効になっているかどうか確認します。
systemctl status firewalld
ファイアウォールが有効になっていない場合は、端末上に以下のコマンドを入力 / 実行し、有効にします。
systemctl start firewalld systemctl enable firewalld
- 端末上に以下のコマンドを入力 / 実行し、RDP 経由 (ポート番号: 3389) でネットワーク接続できるようにします。
firewall-cmd --permanent --zone=public --add-port=3389/tcp firewall-cmd --reload
ファイアウォールの設定を確認するには、端末上に以下のコマンドを入力 / 実行します。
firewall-cmd --list-all-zones
[接続方法]
- Windows 上から [リモート デスクトップ接続] を起動します。
- [コンピューター:] に接続する ホスト名、もしくは IP アドレスを入力し、[接続] ボタンをクリックします。
- [はい] ボタンをクリックします。
- ユーザー名とパスワードを入力し、[OK]ボタンをクリックします。
- 接続処理が行われ、問題がなければ接続先のデスクトップ画面が表示されます。
[参考]
- CentOS Project
http://www.centos.org/ - xrdp
http://www.xrdp.org/ - 日本xrdpユーザ会
http://xrdp.vmeta.jp/%E3%83%A1%E3%82%A4%E3%83%B3%E3%83%9A%E3%83%BC%E3%82%B8 - [Xrdp-devel] Keyboard issue and Japanese Keyboard Layout
http://www.mail-archive.com/xrdp-devel@lists.sourceforge.net/msg00263.html - Install xrdp on CentOS 7 / RHEL 7
http://www.itzgeek.com/how-tos/linux/centos-how-tos/install-xrdp-on-centos-7-rhel-7.html#axzz3T8TCk9XQ