4,251 views
この記事は最終更新から 855日 が経過しています。
1. やりたいこと
インストールしたばかりの RHEL(Red Hat Enterprize Linux)8.6 に、外部から VNC接続して GUI操作したい。
そのための手順を記録しておく。
参考までに…
RHEL9.0でも同じ手順でよかった。
2. やってみる
(1) ファイアウォールでポート#5901を開ける。
VNCサーバーでは、外部からの接続を
ポート番号 : 5900 + ディスプレイ番号
で受ける。
よって、このポートを必要な分だけ開けておく必要がある。
今回はディスプレイ番号1番しか使わないので、5900 + 1 = 5901 番のポートを開けておく。
[root@]# firewall-cmd --permanent --zone=public --add-port=5901/tcp
[root@]# firewall-cmd --reload
念のために確認する。→ OKだ。
[root@]# firewall-cmd --list-all
public (active)
target: default
icmp-block-inversion: no
interfaces: eth0
sources:
services: cockpit dhcpv6-client ssh
ports: 5901/tcp
protocols:
forward: no
masquerade: no
forward-ports:
source-ports:
icmp-blocks:
rich rules:
(2) VNCサーバーをインストールする。
ここでは tigervnc-server を使用する。
インストールを実行する。
[root@]# yum install tigervnc-server
以下、HOWTO を参考に作業を進める。
HOWTOは、以下を参照のこと。
[root@]# less /usr/share/doc/tigervnc/HOWTO.md
(3) VNCユーザーマップを追記する。
[root@]# vi /etc/tigervnc/vncserver.users
開いたファイルにユーザーマップを以下のフォーマットで追記する。
:{ディスプレイ番号}={ユーザー名}
:1=hoge
※ここでは、ディスプレイ番号 1番に、ユーザー名 hoge を割り当てた。
(4) 全VNCユーザーの共通設定を追記する。
これは必要なければやらなくてもよい。
今回は、全ユーザーでデフォルト画面サイズを Full HDにしたかったので、以下の設定を行った。
[root@]# vi /etc/tigervnc/vncserver-config-defaults
以下のように、画面解像度を 1920×1080 に指定した。
geometry=1920x1080
(5) ユーザーごとの準備
本項の作業はユーザー(=非root)で行う。
[hoge@]$ vncpasswd
VNCログインのためのパスワードを入力する。
→ ~/.vnc ディレクトリが作成されていることを確認する。
(6) VNCサーバーを起動する。
いよいよサーバー側作業の最終段階だ。
サービスとして、ディスプレイ番号 1で VNCサーバーを起動する。
[root@]# systemctl start vncserver@:1
念のために状態を確認する。 → active (running) と表示されていれば起動に成功!
[root@]# systemctl status vncserver@:1 ● vncserver@:1.service - Remote desktop service (VNC) Loaded: loaded (/usr/lib/systemd/system/vncserver@.service; enabled; vendor preset: disabled) Active: active (running) since Sun 2022-07-17 01:35:39 JST; 23min ago :
マシン起動時に VNCサーバーを自動起動させたい場合は有効化しておく。
[root@]# systemctl enable vncserver@:1
以上で VNCサーバー側の最低限の準備ができた。
3. おまけ : VNCクライアント側からの接続手順
こちらの過去記事を参照されたい。
(46) VNC Viewer 6.0.2に入れ替える。
4. 余談
(1) ポート番号 5900番は変更可能
TCPポート番号 5900番は、IANAで VNCに割り当てられている公式なポート番号とのこと。
よって、無理にこれを変える必要はないのだが、SSHポート番号などと同様に
セキュリティ上の理由でポート番号を隠したい 場合もある。
こんな時には、誰もが知っている 5900番から、自分で勝手に決めた自分しか知らないポート番号に変更してもよいのだ。
上述の通り、vncサーバーは以下のルールでポート番号を決めている。
5900 + {ディスプレイ番号 1,2,3,…}
この 5900番を変更するには、以下のファイルを開き…
[root@]# vi /usr/bin/vncserver
以下の記述を変更すればよい。例えば 5900を 56789にするなど。
$vncPort = 5900 + $displayNumber;
どのポートを使えばよいの? は、こちら(↓) を参照のこと。
システムポート : 0 – 1023
ユーザーポート : 1024 – 49151
動的・私用ポート : 49152 – 65535 ← ここから自由に選んで使えばよい。
設定後、VNCサーバーを再起動すると適用される。
[root@]# systemctl restart vncserver@:1
5. 所感
こんなに役立つソフトを無料で提供してくださっている方々には、本当に感謝しています。
本当にありがとうございます。m(_ _)m