ウェブサイト検索

CentOS および RHEL で VNC サーバーをインストールおよび構成する方法


このガイドでは、CentOS 7/8 および RHEL 9/8/7 デスクトップに VNC リモート アクセス をインストールして構成する方法について説明します。リモート デスクトップ マシンにアクセスするには、tigervnc-server プログラムを介してエディションをインストールします。

VNC (仮想ネットワーク コンピューティング) は、グラフィカル ユーザー インターフェイスが提供するリソースを使用して、ユーザー アカウントが遠隔地にあるシステムに接続し、制御できるようにするサーバー クライアント プロトコルです。

VNC XVino など、ランタイム デスクトップに直接接続する他の VNC サーバーとは異なり、tigervnc-vncserver > ユーザーごとにスタンドアロンの仮想デスクトップを構成する異なるメカニズムを使用します。

要件

  • CentOS 8 のインストール (スクリーンショット付き)
  • CentOS 7のインストール手順
  • RHEL 9 を無料でインストールする方法
  • RHEL 8 を無料でインストールする方法
  • RHEL 7 のインストール手順

ステップ 1: CentOS に VNC をインストールして構成する

1. Tigervnc-server は、Xvnc サーバーを実行し、Gnome または他のデスクトップの並列セッションを開始するプログラムです。 VNC デスクトップ上の環境。

開始されたVNC ユーザー セッションには、同じユーザーが複数の VNC クライアントからアクセスできます。 CentOS/RHELTigerVNC サーバーをインストールするには、ターミナル セッションを開き、root 権限で次の yum コマンドを発行します。

sudo yum install tigervnc-server

2. プログラムをインストールした後、VNC プログラムを実行するユーザーでログインし、ターミナルで以下のコマンドを実行して、 VNCサーバーのパスワード。

パスワードは 6 文字以上である必要があることに注意してください。

su - your_user
vncpasswd

3. 次に、systemd ディレクトリ ツリーに配置されたデーモン設定ファイルを介して、 ユーザーの VNC サービス設定ファイルを追加します。 VNC テンプレート ファイルをコピーするには、root 権限で次の cp コマンドを実行する必要があります。

ユーザーに sudo 権限が付与されていない場合は、root アカウントに直接切り替えるか、root 権限を持つアカウントからコマンドを実行します。

cp /lib/systemd/system/[email  /etc/systemd/system/vncserver@:1.service

4. 次のステップでは、/etc/systemd/system/ ディレクトリからコピーした VNC テンプレート設定ファイルを編集し、以下に示すようにユーザーを反映するように次の値を置き換えます。サンプル。

@ 記号の後の 1 の値は、ディスプレイ番号 (ポート 5900+display) を表します。また、起動された VNC サーバーごとに、ポート 59001 ずつ増加します。

vi /etc/systemd/system/vncserver@\:1.service

次の行をファイル vncserver@:1.service に追加します。

[Unit]
Description=Remote desktop service (VNC)
After=syslog.target network.target

[Service]
Type=forking
User=tecmint
Group=tecmint
WorkingDirectory=/home/tecmint
ExecStartPre=/bin/sh -c '/usr/bin/vncserver -kill %i > /dev/null 2>&1 || :'
ExecStart=/usr/bin/vncserver %i -geometry 1280x1024
PIDFile=/home/tecmint/.vnc/%H%i.pid
ExecStop=/bin/sh -c '/usr/bin/vncserver -kill %i > /dev/null 2>&1 || :'

[Install]
WantedBy=multi-user.target

5. VNC サービス ファイルに適切な変更を加えた後、systemd システム初期化プログラムをリロードして新しい vnc 構成ファイルを取得し、TigerVNC サーバーを起動します。

また、VNC サービスのステータスを確認し、以下のコマンドを発行して VNC デーモンをシステム全体で有効にします。

systemctl daemon-reload
systemctl start vncserver@:1
systemctl status vncserver@:1
systemctl enable vncserver@:1

6. VNC サーバーが所有するリスニング状態で開いているポートを一覧表示するには、ネットワーク ソケットの表示に使用される ss コマンドを実行します。 VNC サーバーのインスタンスを 1 つだけ起動しているため、最初に開いているポートは 5901/TCP です。

繰り返しますが、ss コマンドは root 権限で実行する必要があります。異なるユーザーに対して他の VNC インスタンスを並行して起動する場合、ポート値は 2 番目のポート値は 5902、3 番目のポート値は 5903 になります。ポート6000 以上は、X アプリケーションが VNC サーバーに接続できるようにするために使用されます。

ss -tulpn| grep vnc

7. 外部 VNC クライアントが VNC サーバーに接続できるようにするには、適切な VNC オープン ポートがファイアウォールを通過できることを確認する必要があります。

VNC サーバーのインスタンスを 1 つだけ起動する場合は、以下のコマンドを発行して最初に割り当てられた VNC ポート 5901/TCP を開くだけで実行時にファイアウォール設定が適用されます。

firewall-cmd --add-port=5901/tcp
firewall-cmd --add-port=5901/tcp --permanent

ステップ 2: VNC クライアント経由で CentOS デスクトップに接続する

8. プラットフォームに依存しないプロトコルであるため、リモートのグラフィカル ユーザー インターフェイス VNC 接続は、GUI と特殊な VNC クライアントを備えたほぼすべてのオペレーティング システムから実行できます。

Microsoft ベース オペレーティング システムで使用され、Linux TigerVNC サーバーと完全に互換性のある一般的な VNC クライアントは、RealVNC VNC Viewer です。

Microsoft OS から VNC プロトコル経由でCentOS デスクトップにリモート接続するには、VNC ビューア プログラムを開き、CentOS VNC サーバーの IP アドレスとポート番号を追加し、 [enter] キーを押します。

VNC 接続が確立されると、以下のスクリーンショットに示すように、接続が暗号化されていないことを示す警告が画面に表示されます。

9. 警告を回避するには、[続行] ボタンをクリックし、ポイント 2 で VNC サーバーのパスワード設定を追加します。次のコマンドを使用して CentOS デスクトップにリモート接続されるはずです。 VNC サーバー インスタンスを実行するように構成されたユーザー。

10. 新しい認証メッセージが画面に表示され、ユーザーに root 権限がない場合は、キャンセルボタンを押して CentOS に進みます。以下のスクリーンショットに示すように、デスクトップ。

サーバーとクライアント間で確立された VNC 通信、および交換されるデータ (パスワードを除く) は、暗号化されていないチャネル上で実行されることに注意してください。 VPN データ転送を暗号化して安全にするには、まず安全な SSH トンネルを設定し、後続の VPN トラフィックを SSH トンネル経由で実行する必要があります。

11. 他の CentOS デスクトップから VNC プロトコル経由で CentOS デスクトップにリモート接続するには、まず以下のコマンドを実行して、vinagre パッケージがシステムにインストールされていることを確認します。

sudo yum install vinagre

12. vinagre ユーティリティを開くには、以下のスクリーンショットに示すように、[アプリケーション] -> [ユーティリティ] -> [リモート デスクトップ ビューア] に移動します。

13. CentOS デスクトップにリモート接続するには、接続 ボタンを押し、リストから VNC プロトコルを選択し、IP アドレスを追加します。リモート VNC サーバーのポート (5900 + ディスプレイ番号)。また、次のスクリーンショットに示すように、VNC ユーザーのパスワード設定を指定します。

14. Linux ベースのプラットフォームでよく使用されるもう 1 つの VNC クライアントは Remmina です。これは、GNOME デスクトップ環境を実行する Debian ベースのディストリビューションで特に使用されるリモート デスクトップ クライアントです。

Debian ベースのディストリビューションにRemmina リモート デスクトップ クライアントをインストールするには、次のコマンドを実行します。

sudo apt-get install remmina

ステップ 3: CentOS で複数の VNC セッションを構成する

15. 同じユーザーで新しい並列 VNC セッションを実行する必要がある場合は、ターミナル コンソールを開き、新しい VNC セッションを開始するユーザーでログインし、以下のコマンドを実行します。

初めてサーバーを起動するときは、このセッションの新しいパスワードを入力するよう求められます。ただし、このセッションはログインしたユーザーの権限で実行され、開始された systemd VNC サーバー セッションとは独立して実行されることに注意してください。

vncserver

16. 新しい VNC セッションは、次に利用可能な VNC ベースのポート (この例では 5900+3 と表示) を開きます。開いているポートを表示するには、以下の抜粋に示すように、root 権限なしでss コマンドを実行します。ユーザーが開始した VNC セッションのみがリストされます。

ss -tlpn| grep Xvnc

17. 次に、この新しい VNC セッションを使用して CentOS デスクトップにリモート接続し、以下の図に示すように VNC クライアントに IP: ポートの組み合わせ (192.168.1.23:5903) を指定します。

これらのログイン ユーザー権限で起動された VNC サーバー インスタンスを停止するには、root 権限なしで次のコマンドを発行します。このコマンドは、開始した VNC インスタンスを指定したユーザーのみが所有するすべての VNC インスタンスを破棄します。

su - your_user
killall Xvnc

それだけです!これで、オペレーティング システムが提供するグラフィカル ユーザー インターフェイスを使用してCentOS システムにアクセスし、管理タスクを実行できるようになります。