私は次に説明するすべての手順に従いました。CentOS 7でGNOMEデスクトップへのVNCリモートアクセスをインストールして設定する方法。
vncserverサービスを開始できます
[root@server ~]# systemctl start vncserver@:1.service
[root@server ~]# 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 Sat 2016-11-12 01:40:25 EET; 5s ago
Process: 32470 ExecStop=/bin/sh -c /usr/bin/vncserver -kill %i > /dev/null 2>&1 || : (code=exited, status=0/SUCCESS)
Process: 3023 ExecStart=/usr/sbin/runuser -l user -c /usr/bin/vncserver %i -geometry 1280x1024 (code=exited, status=0/SUCCESS)
Process: 3004 ExecStartPre=/bin/sh -c /usr/bin/vncserver -kill %i > /dev/null 2>&1 || : (code=exited, status=0/SUCCESS)
Main PID: 3070 (Xvnc)
CGroup: /system.slice/system-vncserver.slice/vncserver@:1.service
‣ 3070 /usr/bin/Xvnc :1 -desktop server:1 (user) -auth /home/user/.Xauthority -geometry 1280x1024 -rfbwait 30000 -rfbauth /home/user/.vnc...
Nov 12 01:40:22 server systemd[1]: Starting Remote desktop service (VNC)...
Nov 12 01:40:25 server systemd[1]: Started Remote desktop service (VNC).
iptablesルールをすべて削除しました。
[root@server ~]# iptables -nvL
Chain INPUT (policy ACCEPT 2710 packets, 297K bytes)
pkts bytes target prot opt in out source destination
Chain FORWARD (policy ACCEPT 0 packets, 0 bytes)
pkts bytes target prot opt in out source destination
Chain OUTPUT (policy ACCEPT 2515 packets, 478K bytes)
pkts bytes target prot opt in out source destination
ファイアウォールが無効になっています。
[root@server ~]# firewall-cmd --state
not running
ポート 5901 が開いていて受信中です。
[root@server ~]# netstat -tpln | grep "5901"
tcp 0 0 0.0.0.0:5901 0.0.0.0:* LISTEN 3070/Xvnc
tcp6 0 0 :::5901 :::* LISTEN 3070/Xvnc
ソケットファイル/tmp/.X11-unix/X1もあります。
ただし、IP:5901を使用してvncviewerを介して接続しようとすると、「ホストによって接続が拒否されました」という同じエラーが発生します。
同じ構成を実行する複数のサーバーがあり、すべてがうまく機能しますが、かなり長い間実行されていたこのサーバーとは異なり、すべてのインストール後に構成されました。サーバーはCentOS 7を実行しています。物理的にアクセスせずに(すべてのデータを削除したり、OSを再インストールせずに)動作させるにはどうすればよいですか?
答え1
ファイアウォールを修正した後、私に役立ちました。
sudo systemctl daemon-reload
sudo firewall-cmd --permanent --zone=public --add-port=5901/tcp
sudo firewall-cmd --reload
私の場合、ポート番号は5901です。
答え2
127.0.0.1 を使用して、サーバー自体からポート 5901 に接続できることを確認します。サーバーにモニターがない場合、telnet 127.0.0.1 5901
または同じプログラムを使用してこれを実行できます。socat stdin tcp:127.0.0.1:5901
ポート 5901 へのトラフィックをフィルタリングするネットワークに何もないことを確認します。