2019-08-16

xrdp のサービスを使う

Remote Desktop Protocol(リモート デスクトップ プロトコル、RDP)は、マイクロソフト社によって開発されている、リモートデスクトップサービスが稼動しているサーバにクライアントが接続するリモートデスクトップのプロトコルでです。リモートデスクトップ接続として TCP ポート 3389 および UDP ポート 3389 を使用します。

Wikipedia より抜粋、修正

RDP は Windows 間の接続ばかりでなく、Windows クライアントから Linux への接続にもオープンソースの実装を利用して接続することができます。xrdp はオープンソースの実装のひとつです。これによって Windows のリモートディスクトップのように Linux の xrdp サーバーに接続して、Windows 上で Linux のデスクトップを扱うことができます。

今まで Fedora で xrdp サービスを起動して試してきましたが、なかなか安定した接続状態を実現できませんでした。ところが、CentOS で試して、あっさりフツーに接続できてしまったので、その顛末をまとめました。

OS CentOS 7-1810 (x86_64)

CentOS を xrdp サーバーに設定する

xrdp は CentOS 7 のデフォルトのパッケージには含まれてません。外部レポジトリの EPEL を利用できるようにしておきます。 EPEL レポジトリの追加方法は、参考サイト [1] [2] などを参考にしてください。

その上で、xrdp と tigervnc-server をインストールします。

xrdp と tigervnc-server のインストール 
[bitwalk@centos7-pc ~]$ sudo yum install xrdp tigervnc-server
[sudo] bitwalk のパスワード:
読み込んだプラグイン:fastestmirror, langpacks
Loading mirror speeds from cached hostfile
 * base: ftp-srv2.kddilabs.jp
...
(省略)
...
--> 依存性解決を終了しました。

依存性を解決しました

================================================================================
 Package                アーキテクチャー  バージョン        リポジトリー  容量
================================================================================
インストール中:
 tigervnc-server        x86_64            1.8.0-13.el7      base          215 k
 xrdp                   x86_64            1:0.9.10-1.el7    epel          422 k
依存性関連でのインストールをします:
 xorgxrdp               x86_64            0.2.10-1.el7      epel           63 k
 xrdp-selinux           x86_64            1:0.9.10-1.el7    epel           17 k

トランザクションの要約
================================================================================
インストール  2 パッケージ (+2 個の依存関係のパッケージ)

総ダウンロード容量: 716 k
インストール容量: 2.7 M
Is this ok [y/d/N]: y
Downloading packages:
(1/4): xorgxrdp-0.2.10-1.el7.x86_64.rpm                        |  63 kB   00:00     
...
(省略)
...
  検証中                  : 1:xrdp-selinux-0.9.10-1.el7.x86_64              4/4 

インストール:
  tigervnc-server.x86_64 0:1.8.0-13.el7        xrdp.x86_64 1:0.9.10-1.el7       

依存性関連をインストールしました:
  xorgxrdp.x86_64 0:0.2.10-1.el7       xrdp-selinux.x86_64 1:0.9.10-1.el7      

完了しました!
[bitwalk@centos7-pc ~]$ 

xrdp サービスを起動し、さらに OS 起動時に自動実行させるようにしておきます。

xrdp サービスの起動 
[bitwalk@centos7-pc ~]$ sudo systemctl start xrdp
[bitwalk@centos7-pc ~]$ sudo systemctl enable xrdp
Created symlink from /etc/systemd/system/multi-user.target.wants/xrdp.service to /usr/lib/systemd/system/xrdp.service.
[bitwalk@centos7-pc ~]$ 

リモートデスクトップ接続に使用する TCP ポート 3389 がファイヤーウォールを通るように設定します。

ファイヤーウォールの設定 
[bitwalk@centos7-pc ~]$ sudo firewall-cmd --permanent --zone=public --add-port=3389/tcp
success
[bitwalk@centos7-pc ~]$ sudo firewall-cmd --reload
success
[bitwalk@centos7-pc ~]$ 

以上で CentOS 側の設定は終わりです。

Windows 10 からリモート接続

Windows 10 の PC から CentOS の xrdp サーバー (192.168.0.25) へリモート接続します。この Windows 10 は英語版のものを使っています。ただしキーボーとのレイアウトは日本語用です。

 Windows から xrdp サーバー (192.168.0.25) へリモートログイン (1) 

すると下記のようなログイン画面が表示されますので、xrdp サーバーに設定されているアカウントでログインします。

 Windows から xrdp サーバー (192.168.0.25) へリモートログイン (2) 

認証などがパスワードの入力が要求されますが、無事にログインできました。

 リモートログイン後の画面 (1) 
 リモートログイン後の画面 (2) 

英語のキーボードのレイアウトになっていることを報告しているサイトがありましたので、念の為確認してみましたが、日本語キーボードのレイアウトに対応していました。⌨

参考サイト

  1. [CentOS7]EPELリポジトリの簡単な追加方法 | Zero Configuration
  2. EPELとは - bnote
  3. キー配列について - 日本 xrdp ユーザ会

 

ブログランキング・にほんブログ村へにほんブログ村

0 件のコメント: