Centos 7リモートデスクトップvnc/vnc-serverの設定


Centos 7とCentos 6.xには大きな違いがあります.
1台のサーバにリモートデスクトップを搭載するために、多くのカーブを曲がりました.このブログを書くのは、純粋に記録のためで、後で同じ問題に遭遇したら、遡ることができます.
1、あなたのシステムにvncをインストールするソフトウェアがないと仮定すると、まずvncをインストールします.
yum -y install tigervnc-server tigervnc

2、Centos 7以前のシステムは、vncをインストールする場合、一般的に構成する必要があります.
[root@localhost ~]# cat /etc/sysconfig/vncservers 
# THIS FILE HAS BEEN REPLACED BY /lib/systemd/system/[email protected]

ただし、前述したようにCentos 7で構成する必要があるファイルは
[root@localhost ~]# ll /lib/systemd/system/[email protected]
-rw-r--r--. 1 root root 1744 Jun 10 14:15 /lib/systemd/system/[email protected]

3、ファイル内に以下のヒントがあります.
# Quick HowTo:
# 1. Copy this file to /etc/systemd/system/vncserver@:<display>.service
# 2. Edit <USER> and vncserver parameters appropriately
#   ("runuser -l <USER> -c /usr/bin/vncserver %i -arg1 -arg2")
# 3. Run `systemctl daemon-reload`
# 4. Run `systemctl enable vncserver@:<display>.service

4、ファイルをコピーし、vncserver@:1と名前を変更する.service
[root@localhost ~]# cp /lib/systemd/system/[email protected] /lib/systemd/system/vncserver@:1.service

5、ファイル内のを現在のユーザーに置き換え、%iを1に置き換えます.
[Unit]
Description=Remote desktop service (VNC)
After=syslog.target network.target
[Service]
Type=forking
# Clean any existing files in /tmp/.X11-unix environment
ExecStartPre=/bin/sh -c '/usr/bin/vncserver -kill :1 > /dev/null 2>&1 || :'
ExecStart=/sbin/runuser -l root -c "/usr/bin/vncserver :1 -geometry 1280x720 -depth 24"
PIDFile=/root/.vnc/%H%i.pid
ExecStop=/bin/sh -c '/usr/bin/vncserver -kill :1 > /dev/null 2>&1 || :'
[Install]
WantedBy=multi-user.target

6、システムctlの更新
systemctl daemon-reload

7、自動起動に設定
systemctl enable vncserver@:1.service

8、vncサービスの起動
systemctl start vncserver@:1.service

9、iptablesに対応するポート5901を追加します(他のユーザーがいる場合は、ポートを追加する必要があります.vncのポートのデフォルトは5900+nです).
[root@localhost system]# cat /etc/sysconfig/iptables
# sample configuration for iptables service
# you can edit this manually or use system-config-firewall
# please do not ask us to add additional ports/services to this default configuration
*filter
:INPUT ACCEPT [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
-A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
-A INPUT -p icmp -j ACCEPT
-A INPUT -i lo -j ACCEPT
-A INPUT -p tcp -m state --state NEW -m tcp --dport 22 -j ACCEPT
-A INPUT -p tcp -m state --state NEW -m tcp --dport 5901 -j ACCEPT
-A INPUT -j REJECT --reject-with icmp-host-prohibited
-A FORWARD -j REJECT --reject-with icmp-host-prohibited
COMMIT

注意:
1、ファイアウォールを構成して有効にしない場合、VNC Viewerで接続すると、「接続:接続時間アウト(10060)」エラーが表示されます.
2、本文はrootユーザーを例にして、他のユーザーもログインする必要がある場合、ファイルを
cp /lib/systemd/system/[email protected] /lib/systemd/system/vncserver@:2.service

同時に、ファイル内の%iを2に変更し、対応するユーザのvncpasswdを確立する.
3、あなたはUltraVNC、TigerVNCあるいはRealVNC Viewerを通じてアクセスすることができて、私はwin 7の下でこの3の中のツールを使ってすべて接続することができます