Centos

tigervnc-server 無法連接

  • September 1, 2020

我已按照如何在 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。如果沒有物理訪問它(不擦除所有數據/重新安裝作業系統)我可以做些什麼以使其工作?

確保您可以使用 127.0.0.1 從伺服器本身連接到埠 5901。如果伺服器上沒有顯示器,您可以使用類似telnet 127.0.0.1 5901或執行此操作的程序。socat stdin tcp:127.0.0.1:5901

確保網路中沒有過濾流向埠 5901 的流量。

修改防火牆後它對我有用:

sudo systemctl daemon-reload
sudo firewall-cmd --permanent --zone=public --add-port=5901/tcp
sudo firewall-cmd --reload

請注意,在我的情況下,埠號是 5901。

引用自:https://unix.stackexchange.com/questions/322728