Virtual Network Computing(VNC)は、キーボードとマウスを使用して別のコンピューターをリモート制御できるグラフィカルデスクトップ共有システムです。
この記事では、CentOS 8にVNCサーバーをインストールして構成する手順について説明します。また、SSHトンネルを介してVNCサーバーに安全に接続する方法についても説明します。
前提条件#
このガイドに従うには、リモートCentOSマシンでsudo権限を持つユーザーとしてログインする必要があります。
デスクトップ環境のインストール#
通常、サーバーにはデスクトップ環境がインストールされていません。接続するマシンにGUIがない場合、最初のステップはGUIをインストールすることです。それ以外の場合は、この手順をスキップしてください。
次のコマンドを実行して、CentOS8のデフォルトのデスクトップ環境であるGnomeをリモートマシンにインストールします。
sudo dnf groupinstall "Server with GUI"
システムによっては、Gnomeパッケージと依存関係のダウンロードとインストールに時間がかかる場合があります。
VNCサーバーのインストール#
TigerVNCは、積極的に保守されている高性能のオープンソースVNCサーバーです。デフォルトのCentOSリポジトリで利用できます。インストールするには、次のように入力します:
sudo dnf install tigervnc-server
VNCサーバーの構成#
CentOS 8では、TigerVNCはsystemdデーモンを使用して構成されます。
この例では、1人以上のVNCユーザー向けにTigerVNCを構成する方法を示します。
-
vncpasswd
を使用します パスワードを設定するコマンド。 VNCサーバーにアクセスするユーザーとしてコマンドを実行します。sudo
は使用しないでください。 :vncpasswd
パスワードを入力して確認し、表示専用パスワードとして設定するかどうかを確認するメッセージが表示されます。表示専用パスワードを設定することを選択した場合、ユーザーはマウスとキーボードを使用してVNCインスタンスを操作できなくなります。
初めて
vncpasswd
コマンドを実行すると、パスワードファイルが作成され、ユーザーの~/.vnc
に保存されます。 ディレクトリ。Password: Verify: Would you like to enter a view-only password (y/n)? n A view-only password is not used
2人目のユーザーを追加する場合は、そのユーザーに切り替えて、
vncpasswd
でパスワードを設定します。 。 -
次のステップは、Gnomeを使用するようにTigerVNCを構成することです。 VNCは、
~/.vnc/config
からユーザー構成設定を読み取ります ファイル。ファイルを開き、以下を追加します:vim ~/.vnc/config
session=gnome geometry=1920x1200 localhost alwaysshared
session
オプションは、開始するセッションとgeometry
を指定します オプションは、VNCデスクトップのサイズを指定します。ファイルを保存して閉じます。複数のユーザーを追加する場合は、同じ手順を繰り返します。
-
TigerVNCには、ユーザーを特定のポートにマップできるファイルが付属しています。マッピングは
/etc/tigervnc/vncserver.users
で構成されます ファイル:sudo vim /etc/tigervnc/vncserver.users
このファイルは
<display_port>=<username>
を使用しています 構文。以下の例では、ディスプレイポート:1
をマッピングしています。 ユーザーlinuxizeに。同じ形式を使用して、ユーザーを追加します。# TigerVNC User assignment # # This file assigns users to specific VNC display numbers. # The syntax is <display>=<username>. E.g.: # # :2=andrew # :3=lisa :1=linuxize
:1
VNCサーバーが実行される表示ポート番号です。この場合、サーバーはTCPポート5901
で実行されています (5900 + 1)。たとえば、別のユーザーをマップしてポート:2
を表示する場合 、サーバーはポート5902
でもリッスンします (5900 + 2)。理解しておくべき重要なことは、VNCサーバーを操作する場合、
:X
5900+X
を参照するディスプレイポートです 。
Tigervncサーバーの起動#
構成が完了したら、最後のステップはVNCサーバーを起動することです。
ディスプレイポート:1
にマップされたユーザーのVNCサービスを開始して有効にするには 、次のように入力します:
sudo systemctl enable vncserver@:1 --now
VNCサーバーはポート5901
でリッスンします 、前のセクションで説明したように。
次のコマンドでサービスが正常に開始されたことを確認できます:
sudo systemctl status vncserver@:1
● vncserver@:1.service - Remote desktop service (VNC)
Loaded: loaded (/usr/lib/systemd/system/[email protected]; enabled; vendor preset: disabled)
Active: active (running) since Thu 2020-12-17 21:49:41 UTC; 8s ago
...
他のユーザーに対してVNCを有効にするには、1
を置き換えるだけです。 ディスプレイポートがユーザーにマッピングされています。
VNCサーバーへの接続#
VNCは暗号化されたプロトコルではないため、パケットスニッフィングの対象となる可能性があります。推奨されるアプローチは、SSHトンネルを作成して、ポート5901
でローカルマシンからのトラフィックを安全に転送することです。 同じポートのリモートサーバーに送信します。
LinuxおよびmacOSでSSHトンネリングを設定する#
Linux、macOS、またはその他のUnixベースのオペレーティングシステムをマシンで実行している場合は、次のssh
を使用してトンネルを簡単に作成できます。 コマンド:
ssh -L 5901:127.0.0.1:5901 -N -f -l username remote_server_ip
ユーザーパスワードの入力を求められます。
username
を置き換えることを忘れないでください およびserver_ip_address
ユーザー名とサーバーのIPアドレスを使用します。
WindowsでSSHトンネリングを設定する#
Windowsユーザーは、PuTTYを使用してSSHトンネリングを設定できます。
Puttyを開き、サーバーのIPアドレスをHost name or IP address
に入力します フィールド。
Connection
の下 メニューで、SSH
を展開します Tunnels
を選択します 。 VNCサーバーポートを入力します(5901
)Source Port
フィールドにserver_ip_address:5901
と入力します Destination
で フィールドをクリックし、Add
をクリックします 下の画像に示すボタン:
session
に戻ります 毎回入力する必要がないように設定を保存するページ。リモートサーバーにログインするには、保存されているセッションを選択し、Open
をクリックします。 ボタン。
Vncviewerを使用した接続#
リモートサーバーに接続するには、VNCビューアを開き、localhost:5901
と入力します。 。
TigerVNC、TightVNC、RealVNC、UltraVNC、Vinagre、VNC Viewer forGoogleChromeなどの任意のVNCビューアを使用できます。
TigerVNCを使用しています:
プロンプトが表示されたらパスワードを入力すると、デフォルトのGnomeデスクトップが表示されます。次のようになります:
それでおしまい!これで、キーボードとマウスを使用して、ローカルマシンからリモートデスクトップでの作業を開始できます。