나는 다음에 설명된 모든 단계를 따랐습니다.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에 대한 트래픽을 필터링하는 네트워크에 아무것도 없는지 확인하십시오.