2014年8月10日日曜日

AWS上のLinuxにリモートデスクトップ接続

xrdpを利用してAWS上のLinuxサーバにリモートデスクトップ接続する手順をまとめます。
接続元PCはWindows7を利用しました。標準のリモートデスクトップ接続クライアントで接続できるため
とても便利ですが、ベースがVNCのため微妙に描画が遅く感じられることは否めません。
今回利用したAMIのLinuxのデフォルト言語は英語ですが、日本語化する手順も記載します。

OS: RHEL 6.5 (64-bit)
xrdp: 0.5.0
リモートデスクトップ接続クライアント: 6.3.9600


■EC2準備
Quick Startにある下記のAMIからEC2を作成しました。
Red Hat Enterprise Linux 6.5 (PV) - ami-e9aee0e8 (64-bit) / ami-cfbff1ce (32-bit)


■初期ログイン&rootパスワード変更
Using username "ec2-user".
Authenticating with public key "imported-openssh-key"
[ec2-user@ip-10-86-30-138 ~]$ cat /etc/redhat-release
Red Hat Enterprise Linux Server release 6.5 (Santiago)
[ec2-user@ip-10-86-30-138 ~]$ sudo passwd
Changing password for user root.
New password:
BAD PASSWORD: it is based on a dictionary word
Retype new password:
passwd: all authentication tokens updated successfully.
[ec2-user@ip-10-86-30-138 ~]$
## ec2-userのパスワードも設定
[root@ip-10-86-30-138 ~]# passwd ec2-user


■SELinux/iptables無効化
[ec2-user@ip-10-86-30-138 ~]$ su -
Password:
[root@ip-10-86-30-138 ~]# vi /etc/selinux/config
[root@ip-10-86-30-138 ~]# grep disabled /etc/selinux/config
#     disabled - No SELinux policy is loaded.
SELINUX=disabled
[root@ip-10-86-30-138 ~]# chkconfig iptables off; chkconfig --list iptables
iptables        0:off   1:off   2:off   3:off   4:off   5:off   6:off
[root@ip-10-86-30-138 ~]# chkconfig ip6tables off; chkconfig --list ip6tables
ip6tables       0:off   1:off   2:off   3:off   4:off   5:off   6:off
[root@ip-10-86-30-138 ~]#
AWS上のEC2へのアクセス制御はとりあえずSecurityGroupで。


■TimeZoneとHostName変更
ここの手順は省略可です。後々の運用を考慮して設定しておきます。
[root@ip-10-86-30-138 ~]# date; cp /usr/share/zoneinfo/Asia/Tokyo /etc/localtime; date
Sun Aug 10 00:15:37 EDT 2014
cp: overwrite `/etc/localtime'? y
Sun Aug 10 13:15:39 JST 2014
[root@ip-10-86-30-138 ~]#
[root@ip-10-86-30-138 ~]# vi /etc/sysconfig/network
[root@ip-10-86-30-138 ~]# grep HOSTNAME /etc/sysconfig/network
# HOSTNAME=ip-10-86-30-138.localdomain
HOSTNAME=rhel65-rdp
[root@ip-10-86-30-138 ~]# reboot


■GnomeGUIインストール
[root@rhel65-rdp ~]# yum groupinstall "X Window System" "GNOME Desktop Environment" "Desktop"
(中略)
Install     273 Package(s)
Upgrade       6 Package(s)
(以下省略)


■vncserverのインストールと起動準備
xrdpはVNCを利用しているようなので。

## VNCインストール
[root@rhel65-rdp ~]# yum install tigervnc-server
(中略)
===============================================================================
 Package           Arch   Version       Repository                        Size
===============================================================================
Installing:
 tigervnc-server   x86_64 1.1.0-8.el6_5 rhui-REGION-rhel-server-releases 1.1 M
Installing for dependencies:
 xorg-x11-fonts-misc
                   noarch 7.2-9.1.el6   rhui-REGION-rhel-server-releases 5.8 M

Transaction Summary
===============================================================================
Install       2 Package(s)
(以下省略)
## VNCサーバ設定
[root@rhel65-rdp ~]# vi /etc/sysconfig/vncservers
[root@rhel65-rdp ~]# tail -3 /etc/sysconfig/vncservers
VNCSERVERS="1:ec2-user 2:root"
VNCSERVERARGS[1]="-geometry 1024x768"
VNCSERVERARGS[2]="-geometry 1024x768"
[root@rhel65-rdp ~]# chkconfig vncserver on; chkconfig --list vncserver
vncserver       0:off   1:off   2:on    3:on    4:on    5:on    6:off
[root@rhel65-rdp ~]#
## VNC接続ユーザパスワード設定
[root@rhel65-rdp ~]# vncpasswd
Password:
Verify:
[root@rhel65-rdp ~]# su - ec2-user
[ec2-user@rhel65-rdp ~]$ vncpasswd
Password:
Verify:
[ec2-user@rhel65-rdp ~]$
## VNCサーバ起動
[root@rhel65-rdp ~]# /etc/init.d/vncserver start
Starting VNC server: 1:ec2-user xauth:  creating new authority file /home/ec2-user/.Xauthority
xauth: (stdin):1:  bad display name "rhel65-rdp:1" in "add" command

New 'rhel65-rdp:1 (ec2-user)' desktop is rhel65-rdp:1

Creating default startup script /home/ec2-user/.vnc/xstartup
Starting applications specified in /home/ec2-user/.vnc/xstartup
Log file is /home/ec2-user/.vnc/rhel65-rdp:1.log

2:root xauth:  creating new authority file /root/.Xauthority
xauth: (stdin):1:  bad display name "rhel65-rdp:2" in "add" command

New 'rhel65-rdp:2 (root)' desktop is rhel65-rdp:2

Creating default startup script /root/.vnc/xstartup
Starting applications specified in /root/.vnc/xstartup
Log file is /root/.vnc/rhel65-rdp:2.log

                                                           [  OK  ]
[root@rhel65-rdp ~]#


■EPELリポジトリのインストール
[root@rhel65-rdp ~]# rpm -ivh http://ftp.riken.jp/Linux/fedora/epel/6/x86_64/epel-release-6-8.noarch.rpm
Retrieving http://ftp.riken.jp/Linux/fedora/epel/6/x86_64/epel-release-6-8.noarch.rpm
warning: /var/tmp/rpm-tmp.D24qpa: Header V3 RSA/SHA256 Signature, key ID 0608b895: NOKEY
Preparing...                ########################################### [100%]
   1:epel-release           ########################################### [100%]
[root@rhel65-rdp ~]#
## yum実行時にEPELリポジトリをデフォルト参照しない設定
[root@rhel65-rdp ~]# sed -i 's/enabled=1/enabled=0/g' /etc/yum.repos.d/epel.repo


■xrdpのインストール
[root@rhel65-rdp ~]# yum --enablerepo=epel install xrdp
(中略)
================================================================================
 Package        Arch             Version                   Repository      Size
================================================================================
Installing:
 xrdp           x86_64           0.5.0-0.13.el6            epel           240 k

Transaction Summary
================================================================================
Install       1 Package(s)
(以下省略)
[root@rhel65-rdp ~]# chkconfig xrdp on; chkconfig --list xrdp
xrdp            0:off   1:off   2:on    3:on    4:on    5:on    6:off
[root@rhel65-rdp ~]#


■日本語キーボード対応
km-e0010411.iniをダウンロードしてシンボリックリンクを作成。
[root@rhel65-rdp ~]# cd /etc/xrdp/
[root@rhel65-rdp xrdp]# wget http://www.mail-archive.com/xrdp-devel@lists.sourceforge.net/msg00263/km-e0010411.ini
[root@rhel65-rdp xrdp]# mv km-e0010411.ini km-0411.ini
[root@rhel65-rdp xrdp]# ln -s km-0411.ini  km-e0010411.ini
[root@rhel65-rdp xrdp]# ln -s km-0411.ini  km-e0200411.ini
[root@rhel65-rdp xrdp]# ln -s km-0411.ini  km-e0210411.ini
[root@rhel65-rdp xrdp]#


■xrdp起動
[root@rhel65-rdp xrdp]# /etc/init.d/xrdp start
Starting xrdp:                                             [  OK  ]
Starting xrdp-sesman:                                      [  OK  ]
[root@rhel65-rdp xrdp]#


■リモートデスクトップ接続
事前にSecurity GroupでPort 3389を開放しておきます。
Windows7のRDPクライアントから接続します。バージョンは、6.3.9600です。


AWS上のLinuxにリモートデスクトップで接続できました。



■GUIを日本語化
せっかくなのでGUIを日本語化してみます。

## 日本語化に必要なパッケージインストール
[root@rhel65-rdp ~]# yum groupinstall "Japanese Support"
(中略)
==================================================================================
 Package            Arch   Version         Repository                        Size
==================================================================================
Installing:
 Red_Hat_Enterprise_Linux-Release_Notes-6-ja-JP
                    noarch 5-1.el6         rhui-REGION-rhel-server-releases  98 k
 ibus-anthy         x86_64 1.2.1-3.el6     rhui-REGION-rhel-server-releases 133 k
 ipa-gothic-fonts   noarch 003.02-4.2.el6  rhui-REGION-rhel-server-releases 3.6 M
 ipa-mincho-fonts   noarch 003.02-3.1.el6  rhui-REGION-rhel-server-releases 5.0 M
 ipa-pgothic-fonts  noarch 003.02-4.1.el6  rhui-REGION-rhel-server-releases 3.6 M
 ipa-pmincho-fonts  noarch 003.02-3.1.el6  rhui-REGION-rhel-server-releases 5.0 M
 man-pages-ja       noarch 20100115-6.el6  rhui-REGION-rhel-server-releases 5.5 M
 vlgothic-fonts     noarch 20091202-2.el6  rhui-REGION-rhel-server-releases 2.2 M
 vlgothic-p-fonts   noarch 20091202-2.el6  rhui-REGION-rhel-server-releases 2.2 M
Installing for dependencies:
 anthy              x86_64 9100h-10.1.el6  rhui-REGION-rhel-server-releases 6.0 M
 ibus               x86_64 1.3.4-6.el6     rhui-REGION-rhel-server-releases 337 k
 ibus-gtk           x86_64 1.3.4-6.el6     rhui-REGION-rhel-server-releases  26 k
 ibus-libs          x86_64 1.3.4-6.el6     rhui-REGION-rhel-server-releases  99 k
 im-chooser         x86_64 1.3.1-3.el6     rhui-REGION-rhel-server-releases 144 k
 imsettings         x86_64 0.108.0-3.6.el6 rhui-REGION-rhel-server-releases 190 k
 imsettings-libs    x86_64 0.108.0-3.6.el6 rhui-REGION-rhel-server-releases 103 k
 kasumi             x86_64 2.5-1.1.el6     rhui-REGION-rhel-server-releases  71 k
 libgxim            x86_64 0.3.3-3.1.el6   rhui-REGION-rhel-server-releases 126 k
 notify-python      x86_64 0.1.1-10.el6    rhui-REGION-rhel-server-releases  26 k
 pyxdg              noarch 0.18-1.el6      rhui-REGION-rhel-server-releases  79 k
 vlgothic-fonts-common
                    noarch 20091202-2.el6  rhui-REGION-rhel-server-releases  16 k

Transaction Summary
==================================================================================
Install      21 Package(s)
(以下省略)
## OSの言語を日本語を設定し再起動
[root@rhel65-rdp ~]# vi /etc/sysconfig/i18n
[root@rhel65-rdp ~]# cp -p /etc/sysconfig/i18n /etc/sysconfig/i18n.org
[root@rhel65-rdp ~]# vi /etc/sysconfig/i18n
[root@rhel65-rdp ~]# cat /etc/sysconfig/i18n
LANG="ja_JP.UTF-8"
SYSFONT="latarcyrheb-sun16"
[root@rhel65-rdp ~]# vi .bash_profile
[root@rhel65-rdp ~]# tail -1 .bash_profile
export LANG=ja_JP.UTF-8
[root@rhel65-rdp ~]#
[root@rhel65-rdp ~]# reboot
## 再びリモートデスクトップ接続

日本語GUI画面が表示されました。


こちらの情報が何かのお役に立てましたら幸いです。サイト継続ご協力のほどお願い致します。m(_ _)m

2 件のコメント:

  1. 参考に構築させて頂きました!ありがとうございます。

    返信削除
  2. わざわざコメント入力いただきありがとうございます。参考になったようでなによりです。

    返信削除