English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Spiegazione dettagliata della configurazione di remote desktop CentOS7 (vnc/vnc-server)

Centos7与Centos6.x有了很大的不同。

为了给一台服务器装上远程桌面,走了不少弯路。写这篇博文,纯粹为了记录,以后如果遇到相同问题,可以追溯。

1、假定你的系统没有安装vnc的任何软件,那么,首先安装vnc

yum -y install tigervnc-server tigervnc

2、Centos7之前的系统,如果安装vnc一般都需要配置

[root@localhost ~]# cat /etc/sysconfig/vncservers 
# QUESTO FILE È STATO SOSTITUITO DA /lib/systemd/system/[email protected]

但是,如上所述,Centos7需要配置的文件在

[root@localhost ~]# ll /lib/systemd/system/[email protected]
-rw-r--r--. 1 root root 1744 Giu 10 14:15 /lib/systemd/system/[email protected]

3、文件内有如下提示

# Guida rapida:
# 1. Copia questo file in /etc/systemd/system/vncserver@:<display>.service
# 2. Modifica correttamente i parametri di <USER> e vncserver
#  ("runuser -l <USER> -c /usr/bin/vncserver %i -arg1 -arg2")
# 3. Esegui `systemctl daemon-reload`
# 4. Esegui `systemctl enable vncserver@:<display>.service

4、复制一份文件,并改名为vncserver@:1.service

[root@localhost ~]# cp /lib/systemd/system/[email protected]/lib/systemd/system/vncserver@:1.service

5、将文件中的<User>用你当前的用户替换,将%i替换为1

[Unit]
Description=Servizio di desktop remoto (VNC)
After=syslog.target network.target
[Service]
Type=forking
# Pulisci tutti i file esistenti in /tmp/.X11-unix ambiente
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、aggiorna systemctl

systemctl daemon-reload

7、imposta l'avvio automatico

systemctl enable vncserver@:1.service

8、avvia il servizio vnc

systemctl start vncserver@:1.service

9、aggiungi il porto corrispondente 5901 a iptables (attenzione, se ci sono altri utenti, aggiungi anche il porto. Il porto predefinito per VNC è 5900 + n)

[root@localhost system]# cat /etc/sysconfig/iptables
# configurazione di esempio per il servizio iptables
# puoi modificarla manualmente o utilizzare system-config-firewall
# per favore, non chiederci di aggiungere ulteriori porte/servizi a questa configurazione predefinita
*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

Attenzione:

1. Se non configuri e attivi il firewall, quando utilizzi VNC Viewer per connetterti, verrà visualizzato l'errore: "connect: Connection timed out (10060)"

2. Questo articolo è un esempio con l'utente root; se altri utenti devono accedere, è necessario copiare il file come

cp /lib/systemd/system/[email protected]/lib/systemd/system/vncserver@:2.service

Allo stesso tempo, cambia %i in 2 all'interno del file e crea il vncpasswd per l'utente corrispondente.

3. Puoi accedere tramite UltraVNC, TigerVNC o RealVNC Viewer, ho utilizzato questi tre strumenti su win7 e ho sempre potuto connettermi

Grazie per la lettura, spero che possa aiutare tutti, grazie per il supporto al nostro sito!

Ti potrebbe interessare