アンドロイド

CentOS 7でvncをインストールおよび構成する方法

Cent OS 7 Review - Linux Distro Reviews

Cent OS 7 Review - Linux Distro Reviews

目次:

Anonim

このチュートリアルでは、CentOS 7システムにVNCサーバーをインストールして構成する手順を説明します。 SSHトンネルを介してVNCサーバーに安全に接続する方法も示します。

Virtual Network Computing(VNC)は、キーボードとマウスを使用して別のコンピューターをリモートで制御できるグラフィカルなデスクトップ共有システムです。

前提条件

チュートリアルを続行する前に、sudo特権を持つユーザーとしてログインしていることを確認してください。 linuxize という名前のユーザーとしてログインしていると仮定します。

Xfceデスクトップ環境のインストール

CentOSサーバーのインストールには、デスクトップ環境がインストールされていないことが多いため、まずは軽量のデスクトップ環境をインストールすることから始めます。

このガイドでは、Xfceをインストールします。 高速で安定しており、システムリソースが少ないため、リモートサーバーでの使用に最適です。

XfceパッケージはEPELリポジトリで利用可能です。 サーバーでEPELリポジトリが有効になっていない場合は、次のように入力して実行できます。

sudo yum install epel-release

リポジトリが追加されたら、次を使用してCentOSにXfceをインストールします。

sudo yum groupinstall xfce

システムによっては、Xfceパッケージと依存関係のダウンロードとインストールに時間がかかる場合があります。

VNCサーバーのインストール

選択したVNCサーバーとしてTigerVNCを使用します。 TigerVNCは、アクティブに維持される高性能なオープンソースVNCサーバーです。

次のコマンドを入力して、CentOSサーバーにTigerVNCをインストールします。

yum install tigervnc-server

VNCサーバーがインストールされたので、次のステップは vncserver コマンドを実行して、初期構成を作成し、パスワードをセットアップすることです。 次のコマンドを実行するときにsudoを使用しないでください。

vncserver

パスワードの入力と確認、および表示専用パスワードとして設定するかどうかの確認を求められます。 表示専用パスワードの設定を選択した場合、ユーザーはマウスとキーボードを使用してVNCインスタンスと対話できなくなります。

You will require a password to access your desktops. Password: Verify: Would you like to enter a view-only password (y/n)? n /usr/bin/xauth: file /home/linuxize/.Xauthority does not exist New 'server2.linuxize.com:1 (linuxize)' desktop at:1 on machine server2.linuxize.com Starting applications specified in /etc/X11/Xvnc-session Log file is /home/linuxize/.vnc/server2.linuxize.com:1.log

vncserver コマンドを初めて実行すると、パスワードファイルが作成され、 ~/.vnc ディレクトリに保存されます(存在しない場合は作成されます)。

上記の出力のホスト名の後にある :1 に注意してください。 これは、vncサーバーが実行されているディスプレイポート番号を示します。 この場合、サーバーはTCPポート 5901 (5900 + 1)で実行されています。 vncserver で2番目のインスタンスを作成すると、次の空きポート、つまり :2 で実行されます。これは、サーバーがポート 5902 (5900 + 2)で実行されていることを意味します。

覚えておくべき重要なことは、VNCサーバーで作業する場合、 :X 5900+X を指すディスプレイポートであるということです。

次の手順を続行する前に、まず vncserver コマンドに -kill オプションとサーバー番号を引数として使用して、VNCインスタンスを停止します。 この場合、サーバーはポート5901( :1 )で実行されているため、 :1 コマンドで停止します。

vncserver -kill:1

Killing Xvnc process ID 2432

VNCサーバーの構成

XfceとTigerVNCの両方がCentOSサーバーにインストールされたので、次のステップはXfceを使用するようにTigerVNCを構成することです。 これを行うには、次のファイルを開きます。

nano ~/.vnc/xstartup

最後の行を exec /etc/X11/xinit/xinitrc から exec startxfce4 ます。

〜/.vnc / xstartup

#!/bin/sh unset SESSION_MANAGER unset DBUS_SESSION_BUS_ADDRESS exec startxfce4

ファイルを保存して閉じます。 上記のスクリプトは、TigerVNCサーバーを起動または再起動するたびに自動的に実行されます。

以下に例を示します。

〜/.vnc / config

# securitytypes=vncauth, tlsvnc # desktop=sandbox geometry=1920x1080 # localhost # alwaysshared dpi=96

Systemdユニットファイルの作成

systemdユニットファイルを作成して、他のsystemdサービスと同様に、必要に応じてVNCサービスを簡単に開始、停止、再起動できるようにします。

cp コマンドでvncserverユニットファイルをコピーします。

sudo cp /usr/lib/systemd/system/[email protected] /etc/systemd/system/vncserver@:1.service

テキストエディターでファイルを開き、置き換えます 実際のユーザー名で。

sudo nano /etc/systemd/system/vncserver@\:1.service /etc/systemd/system/vncserver@:1.service

Description=Remote desktop service (VNC) After=syslog.target network.target Type=forking # Clean any existing files in /tmp/.X11-unix environment ExecStartPre=/bin/sh -c '/usr/bin/vncserver -kill %i > /dev/null 2>&1 ||:' ExecStart=/usr/sbin/runuser -l linuxize -c "/usr/bin/vncserver %i" PIDFile=/home/linuxize/.vnc/%H%i.pid ExecStop=/bin/sh -c '/usr/bin/vncserver -kill %i > /dev/null 2>&1 ||:' WantedBy=multi-user.target

ファイルを保存して閉じます。 systemdに新しいユニットファイルを作成したことを通知します:

sudo systemctl daemon-reload

次の手順では、次のコマンドを使用してユニットファイルを有効にします。

sudo systemctl enable vncserver@:1.service

@ 記号の後の番号 1 は、VNCサービスが実行されるディスプレイポートを定義します。この場合、デフォルトの 1 あり、VNCサーバーは前のセクションで説明したようにポート 5901 リッスンします。

次を実行してVNCサービスを開始します。

sudo systemctl start vncserver@:1.service

以下を使用して、サービスが正常に開始されたことを確認します

sudo systemctl status vncserver@:1.service

● vncserver@:1.service - Remote desktop service (VNC) Loaded: loaded (/etc/systemd/system/vncserver@:1.service; enabled; vendor preset: disabled) Active: active (running) since Sun 2018-09-16 09:59:53 UTC; 4s ago Process: 6391 ExecStart=/usr/sbin/runuser -l linuxize -c /usr/bin/vncserver %i (code=exited, status=0/SUCCESS) Process: 6389 ExecStartPre=/bin/sh -c /usr/bin/vncserver -kill %i > /dev/null 2>&1 ||: (code=exited, status=0/SUCCESS) Main PID: 6413 (Xvnc) CGroup: /system.slice/system-vncserver.slice/vncserver@:1.service ‣ 6413 /usr/bin/Xvnc:1 -auth /home/linuxize/.Xauthority -desktop server2.linuxize.com:1 (linuxize) -fp catalogue:/etc/X11/fontpath.d -geometry 1024x768 -pn -rfbauth /home/linuxize/.vnc/passwd -rfbport…

VNCサーバーへの接続

VNCは暗号化されたプロトコルではなく、パケットスニッフィングの対象になる場合があります。 推奨されるアプローチは、ポート5901のローカルマシンから同じポートのサーバーにトラフィックを安全に転送するSSHトンネルを作成することです。

LinuxおよびmacOSでのSSHトンネリングのセットアップ

ssh -L 5901:127.0.0.1:5901 -N -f -l username server_ip_address

ユーザーパスワードの入力を求められます。

username server_ip_address をユーザー名とサーバーのIPアドレスに置き換えることを忘れないでください。

WindowsでのSSHトンネリングのセットアップ

Puttyを開き、[ Host name or IP address フィールドにサーバーのIPアドレスを入力します。

これで、キーボードとマウスを使用して、ローカルマシンからリモートXFCEデスクトップとの対話を開始できます。

結論

ここまでで、VNCサーバーを起動して実行する必要があり、グラフィックインターフェイスを使用してCentOS 7サーバーを簡単に管理できます。

複数のユーザーの表示を開始するようにVNCサーバーを構成するには、 vncserver コマンドを使用して初期構成を作成し、パスワードを設定し、別のポートを使用して新しいサービスファイルを作成します。

ご質問がある場合は、コメントをお気軽にお寄せください。

Centos VNC