xrdp を用いて Windows OS から CentOS 7 に RDP 接続する

スポンサーリンク

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 を用いています。

[インストール / 設定手順]

  1. 管理者 (root) 権限になれるユーザーでサーバーにログインします。
  2. 端末を起動、端末上に以下のコマンドを入力 / 実行し、管理者権限に昇格します。
    su -
    

    ※パスワードの入力を求められた場合は、 root のパスワードを入力します。

  3. 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
    
  4. 端末上に以下のコマンドを入力 / 実行し、xrdp、および関連する tigervnc-server をインストールします。
    yum install -y xrdp tigervnc-server
    
  5. 端末上に以下のコマンドを入力 / 実行し、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
    
  6. 端末上に以下のコマンドを入力 / 実行し、xrdpのサービスを起動し、自動起動を有効にします。
    systemctl start xrdp.service
    systemctl enable xrdp.service
    
  7. 端末上に以下のコマンドを入力 / 実行し、ファイアウォールが有効になっているかどうか確認します。
    systemctl status firewalld
    

    ファイアウォールが有効になっていない場合は、端末上に以下のコマンドを入力 / 実行し、有効にします。

    systemctl start firewalld
    systemctl enable firewalld
    
  8. 端末上に以下のコマンドを入力 / 実行し、RDP 経由 (ポート番号: 3389) でネットワーク接続できるようにします。
    firewall-cmd --permanent --zone=public --add-port=3389/tcp
    firewall-cmd --reload
    

    ファイアウォールの設定を確認するには、端末上に以下のコマンドを入力 / 実行します。

    firewall-cmd --list-all-zones
    

[接続方法]

  1. Windows 上から [リモート デスクトップ接続] を起動します。
  2. [コンピューター:] に接続する ホスト名、もしくは IP アドレスを入力し、[接続] ボタンをクリックします。
  3. [はい] ボタンをクリックします。
  4. ユーザー名とパスワードを入力し、[OK]ボタンをクリックします。
  5. 接続処理が行われ、問題がなければ接続先のデスクトップ画面が表示されます。

[参考]

スポンサーリンク
スポンサーリンク
スポンサーリンク