2019/03/10

CentOS7環境でxrdpを使ってローカルコンソール画面をリモートに出力する手順

CentOS環境で、ローカルコンソール画面をリモートに出力する手順
概要
ベアメタル環境で出力されている環境をリモートの接続先に表示する方法
前提
・ベアメタル環境
・モニターにVGAが接続されていること
・インターネットに接続可能なこと
・firewalldは無効化しています
制限事項
・VGAにモニターが接続されている状態でないとエラーが表示され、接続できない。
・一つの表示しかできないため、他のセッションでつなごうとしても同一の表示になり、
 マウスとキーボードを共有することになる。
OS環境
・CentOS 7.4 1801
CentOSのインストール環境
・サーバ(GUI使用)
インストールするアプリケーションバージョン
概要手順
A.EPELのインストール
B.xrdpのインストール
C.xrdpのセッション設定
D.x11vncパッケージのインストール
E.x11vncのサービス登録
F.x11vnc接続用パスワードの設定
G.サービスの起動
H.動作確認

詳細手順
インストール完了後、任意のアカウントでSSH接続します。
動作確認のため、rootアカウントで実施しています。
A.EPELのインストール
01.EPELのリポジトリパッケージをインストールします。
#yum -y install epel-release
--実行ログ開始--
yum install epel*
読み込んだプラグイン:fastestmirror, langpacks
Loading mirror speeds from cached hostfile
 * base: ftp.iij.ad.jp
 * extras: ftp.iij.ad.jp
 * updates: ftp.iij.ad.jp
依存性の解決をしています
--> トランザクションの確認を実行しています。
---> パッケージ epel-release.noarch 0:7-11 を インストール
--> 依存性解決を終了しました。
依存性を解決しました
================================================================================
 Package                アーキテクチャー バージョン      リポジトリー      容量
================================================================================
インストール中:
 epel-release           noarch           7-11            extras            15 k
トランザクションの要約
================================================================================
インストール  1 パッケージ
総ダウンロード容量: 15 k
インストール容量: 24 k
Is this ok [y/d/N]: y
Downloading packages:
警告: /var/cache/yum/x86_64/7/extras/packages/epel-release-7-11.noarch.rpm:
ヘッダー V3 RSA/SHA256 Signature、鍵 ID f4a80eb5: NOKEY
epel-release-7-11.noarch.rpm の公開鍵がインストールされていません
epel-release-7-11.noarch.rpm                               |  15 kB   00:00    
file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7 から鍵を取得中です。
Importing GPG key 0xF4A80EB5:
 Userid     : "CentOS-7 Key (CentOS 7 Official Signing Key) <security@centos.org>"
 Fingerprint: 6341 ab27 53d7 8a78 a7c2 7bb1 24c6 a8a7 f4a8 0eb5
 Package    : centos-release-7-6.1810.2.el7.centos.x86_64 (@anaconda)
 From       : /etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7
上記の処理を行います。よろしいでしょうか? [y/N]y
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
  インストール中          : epel-release-7-11.noarch                        1/1
  検証中                  : epel-release-7-11.noarch                        1/1
インストール:
  epel-release.noarch 0:7-11                                                   
完了しました!
--実行ログ終了--

B.xrdpのインストール
01.xrdpのパッケージをインストールします。
#yum -y install xrdp
--実行ログ開始--
読み込んだプラグイン:fastestmirror, langpacks
Loading mirror speeds from cached hostfile
epel/x86_64/metalink                                     | 3.5 kB     00:00    
 * base: ftp.iij.ad.jp
 * epel: mirror01.idc.hinet.net
 * extras: ftp.iij.ad.jp
 * updates: ftp.iij.ad.jp
epel                                                     | 4.7 kB     00:00
To address this issue please refer to the below wiki article
https://wiki.centos.org/yum-errors
If above article doesn't help to resolve this issue please use https://bugs.centos.org/.
依存性の解決をしています
--> トランザクションの確認を実行しています。
---> パッケージ xrdp.x86_64 1:0.9.9-1.el7 を インストール
--> 依存性の処理をしています: xrdp-selinux = 1:0.9.9-1.el7 のパッケージ:
 1:xrdp-0.9.9-1.el7.x86_64
--> 依存性の処理をしています: xorgxrdp のパッケージ:
 1:xrdp-0.9.9-1.el7.x86_64
--> トランザクションの確認を実行しています。
---> パッケージ xorgxrdp.x86_64 0:0.2.9-1.el7 を インストール
---> パッケージ xrdp-selinux.x86_64 1:0.9.9-1.el7 を インストール
--> 依存性の処理をしています: selinux-policy >= 3.13.1-229.el7_6.6 のパッケージ:
 1:xrdp-selinux-0.9.9-1.el7.x86_64
--> トランザクションの確認を実行しています。
---> パッケージ selinux-policy.noarch 0:3.13.1-229.el7 を 更新
--> 依存性の処理をしています: selinux-policy = 3.13.1-229.el7 のパッケージ:
 selinux-policy-targeted-3.13.1-229.el7.noarch
--> 依存性の処理をしています: selinux-policy = 3.13.1-229.el7 のパッケージ:
 selinux-policy-targeted-3.13.1-229.el7.noarch
---> パッケージ selinux-policy.noarch 0:3.13.1-229.el7_6.9 を アップデート
--> トランザクションの確認を実行しています。
---> パッケージ selinux-policy-targeted.noarch 0:3.13.1-229.el7 を 更新
---> パッケージ selinux-policy-targeted.noarch 0:3.13.1-229.el7_6.9 を アップデート
--> 依存性解決を終了しました。
依存性を解決しました
================================================================================
 Package                    アーキテクチャー
                                      バージョン               リポジトリー
                                                                           容量
================================================================================
インストール中:
 xrdp                       x86_64    1:0.9.9-1.el7            epel       419 k
依存性関連でのインストールをします:
 xorgxrdp                   x86_64    0.2.9-1.el7              epel        63 k
 xrdp-selinux               x86_64    1:0.9.9-1.el7            epel        16 k
依存性関連での更新をします:
 selinux-policy             noarch    3.13.1-229.el7_6.9       updates    483 k
 selinux-policy-targeted    noarch    3.13.1-229.el7_6.9       updates    6.9 M
トランザクションの要約
================================================================================
インストール  1 パッケージ (+2 個の依存関係のパッケージ)
更新                       ( 2 個の依存関係のパッケージ)
合計容量: 7.9 M
総ダウンロード容量: 7.4 M
Is this ok [y/d/N]: y
Downloading packages:
--------------------------------------------------------------------------------
合計                                               641 kB/s | 7.4 MB  00:11    
インストール:
  xrdp.x86_64 1:0.9.9-1.el7                                                    
依存性関連をインストールしました:
  xorgxrdp.x86_64 0:0.2.9-1.el7        xrdp-selinux.x86_64 1:0.9.9-1.el7      
依存性を更新しました:
  selinux-policy.noarch 0:3.13.1-229.el7_6.9                                   
  selinux-policy-targeted.noarch 0:3.13.1-229.el7_6.9                          
完了しました!
--実行ログ終了--

C.xrdpのセッション設定
01.xrdpの設定ファイルにローカルコンソールに接続するためのセッション情報を追加します。
#vi /etc/xrdp/xrdp.ini
150行目以降のセッション情報のローカルコンソールのセッション情報を追加します。
--追加するローカルコンソール情報開始--
[console]
name=console
lib=libvnc.so
ip=127.0.0.1
port=5900
username=na
password=ask
--追加するローカルコンソール情報終了--

D.x11vncパッケージのインストール
$sudo yum -y install x11vnc
--実行ログ開始--
読み込んだプラグイン:fastestmirror, langpacks
Loading mirror speeds from cached hostfile
 * base: ftp.iij.ad.jp
 * epel: mirror01.idc.hinet.net
 * extras: ftp.iij.ad.jp
 * updates: ftp.iij.ad.jp
依存性の解決をしています
--> トランザクションの確認を実行しています。
---> パッケージ x11vnc.x86_64 0:0.9.13-11.el7 を インストール
--> 依存性の処理をしています: Xvfb のパッケージ: x11vnc-0.9.13-11.el7.x86_64
--> 依存性の処理をしています: tk のパッケージ: x11vnc-0.9.13-11.el7.x86_64
--> 依存性の処理をしています: libvncclient.so.0()(64bit) のパッケージ:
 x11vnc-0.9.13-11.el7.x86_64
--> 依存性の処理をしています: libvncserver.so.0()(64bit) のパッケージ:
 x11vnc-0.9.13-11.el7.x86_64
--> トランザクションの確認を実行しています。
---> パッケージ libvncserver.x86_64 0:0.9.9-13.el7_6 を インストール
--> 依存性の処理をしています: libminilzo.so.0()(64bit) のパッケージ:
 libvncserver-0.9.9-13.el7_6.x86_64
---> パッケージ tk.x86_64 1:8.5.13-6.el7 を インストール
--> 依存性の処理をしています: tcl = 1:8.5.13 のパッケージ:
 1:tk-8.5.13-6.el7.x86_64
--> 依存性の処理をしています: tcl >= 1:8.5.13-5 のパッケージ:
 1:tk-8.5.13-6.el7.x86_64
--> 依存性の処理をしています: libtcl8.5.so()(64bit) のパッケージ:
 1:tk-8.5.13-6.el7.x86_64
---> パッケージ xorg-x11-server-Xvfb.x86_64 0:1.20.1-5.2.el7_6 を インストール
--> 依存性の処理をしています: xorg-x11-server-common >= 1.20.1-5.2.el7_6 のパッケージ:
 xorg-x11-server-Xvfb-1.20.1-5.2.el7_6.x86_64
--> トランザクションの確認を実行しています。
---> パッケージ lzo-minilzo.x86_64 0:2.06-8.el7 を インストール
---> パッケージ tcl.x86_64 1:8.5.13-8.el7 を インストール
---> パッケージ xorg-x11-server-common.x86_64 0:1.20.1-3.el7 を 更新
---> パッケージ xorg-x11-server-common.x86_64 0:1.20.1-5.2.el7_6 を アップデート
--> 依存性解決を終了しました。
依存性を解決しました
================================================================================
 Package                    アーキテクチャー
                                       バージョン             リポジトリー
                                                                           容量
================================================================================
インストール中:
 x11vnc                     x86_64     0.9.13-11.el7          epel        857 k
依存性関連でのインストールをします:
 libvncserver               x86_64     0.9.9-13.el7_6         updates     234 k
 lzo-minilzo                x86_64     2.06-8.el7             base         15 k
 tcl                        x86_64     1:8.5.13-8.el7         base        1.9 M
 tk                         x86_64     1:8.5.13-6.el7         base        1.4 M
 xorg-x11-server-Xvfb       x86_64     1.20.1-5.2.el7_6       updates     853 k
依存性関連での更新をします:
 xorg-x11-server-common     x86_64     1.20.1-5.2.el7_6       updates      54 k
トランザクションの要約
================================================================================
インストール  1 パッケージ (+5 個の依存関係のパッケージ)
更新                       ( 1 個の依存関係のパッケージ)
総ダウンロード容量: 5.3 M
Is this ok [y/d/N]: y
--------------------------------------------------------------------------------
合計                                               1.9 MB/s | 5.3 MB  00:02    
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
インストール:
  x11vnc.x86_64 0:0.9.13-11.el7                                                
依存性関連をインストールしました:
  libvncserver.x86_64 0:0.9.9-13.el7_6                                         
  lzo-minilzo.x86_64 0:2.06-8.el7                                              
  tcl.x86_64 1:8.5.13-8.el7                                                    
  tk.x86_64 1:8.5.13-6.el7                                                     
  xorg-x11-server-Xvfb.x86_64 0:1.20.1-5.2.el7_6                               
依存性を更新しました:
  xorg-x11-server-common.x86_64 0:1.20.1-5.2.el7_6                             
完了しました!
--実行ログ終了--

E.x11vncのサービス登録
01.xx1vncのサービスを登録します。
#vi /lib/systemd/system/x11vnc.service
--x11vnc.serviceの記載内容開始--
[Unit]
Description=Start x11vnc at startup.
After=multi-user.target
[Service]
Type=simple
ExecStart=/usr/bin/x11vnc -auth guess -rfbauth /etc/x11vnc.passwd -rfbport 5900 -noxrecord -noxfixes -noxdamage -forever -loop -localhost -repeat
[Install]
WantedBy=multi-user.target
--x11vnc.serviceの記載内容終了--

F.x11vnc接続用パスワードの設定
# x11vnc -storepasswd /etc/x11vnc.passwd
--実行ログ開始--
# x11vnc -storepasswd /etc/x11vnc.passwd
Enter VNC password:
Verify password:
Write password to /etc/x11vnc.passwd?  [y]/n y
Password written to: /etc/x11vnc.passwd
--実行ログ終了--

G.サービスの起動
01.x11vncのサービスを起動します。
# systemctl enable x11vnc
# systemctl start x11vnc
02.xrdpのサービスを起動します。
# systemctl enable xrdp
# systemctl start xrdp
H.動作確認
任意のWindows端末からリモートデスクトップ接続で接続します。
リモートデスクトップ接続後、ローカルコンソールとリモートデスクトップ接続した環境が
一致するか確認します。

0 件のコメント:

コメントを投稿

PowerSwitch初期設定

 概要 PowerSwitchのSシリーズで初期設定する際に以下の最低限の設定 A.シリアル接続 B.初期アカウントの設定(パスワード) C.ホスト名の設定 D.マネジメントポートの設定 E.各インターフェイスの設定 前提 ・PowerSwitchのSシリーズ ・OS10で動作す...