androide

Come installare e configurare vnc su centos 7

Install & Configure TIGER VNC Server in CentOS 7 and RHEL 7

Install & Configure TIGER VNC Server in CentOS 7 and RHEL 7

Sommario:

Anonim

In questo tutorial, ti guideremo attraverso i passaggi per l'installazione e la configurazione di un server VNC su un sistema CentOS 7. Ti mostreremo anche come collegarti in modo sicuro al server VNC attraverso un tunnel SSH.

Virtual Network Computing (VNC) è un sistema grafico di condivisione desktop che consente di utilizzare tastiera e mouse per controllare in remoto un altro computer.

Prerequisiti

Prima di continuare con il tutorial, assicurati di aver effettuato l'accesso come utente con privilegi sudo. Supponiamo che tu abbia effettuato l'accesso come utente chiamato linuxize .

Installazione di Xfce Desktop Environment

Le installazioni di server CentOS spesso non hanno un ambiente desktop installato, quindi inizieremo installando un ambiente desktop leggero.

In questa guida installeremo Xfce. È un sistema veloce, stabile e con poche risorse di sistema, che lo rende ideale per l'utilizzo su server remoti.

I pacchetti Xfce sono disponibili nei repository EPEL. Se non hai repository EPEL abilitato sul tuo server, puoi farlo digitando:

sudo yum install epel-release

Una volta aggiunto il repository, installa Xfce sul tuo CentOS con:

sudo yum groupinstall xfce

A seconda del sistema in uso, il download e l'installazione dei pacchetti e delle dipendenze Xfce potrebbero richiedere del tempo.

Installazione del server VNC

Useremo TigerVNC come nostro server VNC preferito. TigerVNC è un server VNC open source ad alte prestazioni attivamente mantenuto.

Digita il seguente comando per installare TigerVNC sul tuo server CentOS:

yum install tigervnc-server

Ora che il server VNC è installato, il passo successivo è eseguire il comando vncserver che creerà la configurazione iniziale e imposterà la password. Non usare sudo quando si esegue il seguente comando:

vncserver

Ti verrà richiesto di inserire e confermare la password e se impostarla come password di sola visualizzazione. Se si sceglie di impostare una password di sola visualizzazione, l'utente non sarà in grado di interagire con l'istanza VNC con il mouse e la tastiera.

You will require a password to access your desktops. Password: Verify: Would you like to enter a view-only password (y/n)? n /usr/bin/xauth: file /home/linuxize/.Xauthority does not exist New 'server2.linuxize.com:1 (linuxize)' desktop at:1 on machine server2.linuxize.com Starting applications specified in /etc/X11/Xvnc-session Log file is /home/linuxize/.vnc/server2.linuxize.com:1.log

La prima volta che viene eseguito il comando vncserver , creerà e memorizzerà il file della password nella directory ~/.vnc che verrà creata se non presente.

Nota :1 dopo il nome host nell'output sopra. Indica il numero della porta di visualizzazione su cui è in esecuzione il server vnc. Nel nostro caso, il server è in esecuzione sulla porta TCP 5901 (5900 + 1). Se si crea una seconda istanza con vncserver , verrà eseguita sulla successiva porta libera, ovvero :2 significa che il server è in esecuzione sulla porta 5902 (5900 + 2).

Ciò che è importante ricordare è che quando si lavora con i server VNC,: :X è una porta di visualizzazione che fa riferimento a 5900+X

Prima di continuare con il passaggio successivo, arrestare innanzitutto l'istanza VNC utilizzando il comando vncserver con un'opzione -kill e il numero del server come argomento. Nel nostro caso il server è in esecuzione nella porta 5901 ( :1 ), quindi lo fermeremo con:

vncserver -kill:1

Killing Xvnc process ID 2432

Configurazione del server VNC

Ora che sia Xfce che TigerVNC sono installati sul nostro server CentOS, il passo successivo è configurare TigerVNC per usare Xfce. Per fare ciò aprire il seguente file:

nano ~/.vnc/xstartup

E cambia l'ultima riga da exec /etc/X11/xinit/xinitrc in exec startxfce4 :

~ /.Vnc / xstartup

#!/bin/sh unset SESSION_MANAGER unset DBUS_SESSION_BUS_ADDRESS exec startxfce4

Salva e chiudi il file. Lo script sopra verrà eseguito automaticamente ogni volta che avvii o riavvii il server TigerVNC.

Ecco un esempio:

~ /.Vnc / config

# securitytypes=vncauth, tlsvnc # desktop=sandbox geometry=1920x1080 # localhost # alwaysshared dpi=96

Creazione di un file di unità Systemd

Creeremo un file di unità systemd che ci consentirà di avviare, arrestare e riavviare facilmente il servizio VNC in base alle esigenze, come qualsiasi altro servizio systemd.

Copia il file dell'unità vncserver con il comando cp :

sudo cp /usr/lib/systemd/system/[email protected] /etc/systemd/system/vncserver@:1.service

Apri il file con il tuo editor di testo e sostituiscilo con il tuo vero nome utente.

sudo nano /etc/systemd/system/vncserver@\:1.service /etc/systemd/system/vncserver@:1.service

Description=Remote desktop service (VNC) After=syslog.target network.target Type=forking # Clean any existing files in /tmp/.X11-unix environment ExecStartPre=/bin/sh -c '/usr/bin/vncserver -kill %i > /dev/null 2>&1 ||:' ExecStart=/usr/sbin/runuser -l linuxize -c "/usr/bin/vncserver %i" PIDFile=/home/linuxize/.vnc/%H%i.pid ExecStop=/bin/sh -c '/usr/bin/vncserver -kill %i > /dev/null 2>&1 ||:' WantedBy=multi-user.target

Salva e chiudi il file. Notifica a systemd che abbiamo creato un nuovo file di unità con:

sudo systemctl daemon-reload

Il prossimo passo è abilitare il file unitario con il seguente comando:

sudo systemctl enable vncserver@:1.service

Il numero 1 dopo il segno @ definisce la porta di visualizzazione su cui verrà eseguito il servizio VNC, nel nostro caso che è il valore predefinito 1 e il server VNC ascolterà sulla porta 5901 come discusso nella sezione precedente.

Avviare il servizio VNC eseguendo:

sudo systemctl start vncserver@:1.service

Verifica che il servizio sia stato avviato correttamente con:

sudo 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 Sun 2018-09-16 09:59:53 UTC; 4s ago Process: 6391 ExecStart=/usr/sbin/runuser -l linuxize -c /usr/bin/vncserver %i (code=exited, status=0/SUCCESS) Process: 6389 ExecStartPre=/bin/sh -c /usr/bin/vncserver -kill %i > /dev/null 2>&1 ||: (code=exited, status=0/SUCCESS) Main PID: 6413 (Xvnc) CGroup: /system.slice/system-vncserver.slice/vncserver@:1.service ‣ 6413 /usr/bin/Xvnc:1 -auth /home/linuxize/.Xauthority -desktop server2.linuxize.com:1 (linuxize) -fp catalogue:/etc/X11/fontpath.d -geometry 1024x768 -pn -rfbauth /home/linuxize/.vnc/passwd -rfbport…

Connessione al server VNC

VNC non è un protocollo crittografato e può essere soggetto allo sniffing dei pacchetti. L'approccio consigliato è quello di creare un tunnel SSH che inoltri in modo sicuro il traffico dal computer locale sulla porta 5901 al server sulla stessa porta.

Configurare il tunneling SSH su Linux e macOS

ssh -L 5901:127.0.0.1:5901 -N -f -l username server_ip_address

Ti verrà richiesto di inserire la password dell'utente.

Non dimenticare di sostituire username e server_ip_address con il tuo nome utente e l'indirizzo IP del tuo server.

Configurare il tunneling SSH su Windows

Apri Putty e inserisci l'indirizzo IP del tuo server nel campo Host name or IP address .

Ora puoi iniziare a interagire con il desktop XFCE remoto dal tuo computer locale usando la tastiera e il mouse.

Conclusione

Ormai dovresti avere un server VNC attivo e funzionante e puoi facilmente gestire il tuo server CentOS 7 usando un'interfaccia grafica.

Per configurare il server VNC per avviare una visualizzazione per più di un utente, creare la configurazione iniziale e impostare la password utilizzando il comando vncserver e creare un nuovo file di servizio utilizzando una porta diversa.

Sentiti libero di lasciare un commento in caso di domande.

centos vnc