LINUX

5 strumenti per abilitare l’accesso desktop remoto su RHEL/CentOS 7

accesso desktop remoto centos

In questo tutorial, ti mostrerò gli strumenti che ti consentono di accedere a Desktop remoto su macchine che eseguono CentOS/RHEL. Tutte queste applicazioni funzionano in modalità client-server. Quindi devi eseguire un’applicazione lato server sulla tua macchina remota e successivamente sarai in grado di connetterti ad essa da tutto il mondo. Naturalmente, in questa guida di riferimento, ti dirò come configurarlo in modo sicuro in modo che solo tu possa accedere al tuo server.

Prima di iniziare, avrai bisogno dell’accesso SSH al tuo server e delle autorizzazioni per installare il software. Dovrai accedere come utente root o utente con privilegi sudo. Tutti i comandi funzioneranno su ogni server CentOS 5/6/7/8. Prima di iniziare, è necessario installare l’ambiente desktop sul server.

# yum groupinstall 'GNOME Desktop Environment' 'X Window System'

1) VNC

x11vnc: il più semplice di questi tre metodi per ottenere l’accesso remoto. VNC sta per Virtual Network Computing) è un protocollo grafico di rete molto utile.

Devi abilitare il repository EPEL (Extra Packages for Enterprise Linux). Correre

# yum -y install epel-release

Ora possiamo installare x11vnc. Questo comando installerà il server e risolverà tutte le dipendenze:

# yum -y install x11vnc

Quindi proteggeremo con password il server:

# x11vnc -storepasswd

Enter VNC password:

Verify password:

Write password to /root/.vnc/passwd? [y]/n y

Password written to: /root/.vnc/passwd

!Non utilizzare semplici password!

Ora siamo pronti per avviare il server:

# x11vnc --reopen --forever -rfbauth ~/.vncpasswd &

Puoi verificare se i server sono stati avviati:

# netstat -an | grep 5900

tcp 0 0 0.0.0.0:5900 0.0.0.0:* LISTEN

tcp6 0 0 :::5900 :::* LISTEN

Se va bene, prova a connetterti usando vncviewer.

# yum -y install vnc
# vncviewer YOUR_SERVER_IP

È tutto! Ora hai accesso al desktop. Dopo il riavvio basta ssh di nuovo e fallo di nuovo.

x11vnc --reopen --forever -rfbauth ~/.vnc/passwd &

2) Server TigerVNC

TigerVNC – è un’implementazione ad alte prestazioni e indipendente dalla piattaforma di VNC

# yum install -y tigervnc-server

Copiamo la configurazione di esempio e modifichiamola:

# cp /lib/systemd/system/vncserver@.service /etc/systemd/system/vncserver@:1.service
# vi /etc/systemd/system/vncserver@:1.service

Esempio di configurazione:

[Unit]
Description=Remote desktop service (VNC)
After=syslog.target network.target
Requires=systemd-logind.service

[Service]
Type=oneshot
RemainAfterExit=yes

# 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 USERNAME -c "/usr/bin/vncserver %i"
ExecStop=/usr/sbin/runuser USERNAME -c '/usr/bin/vncserver -kill %i'

[Install]
WantedBy=multi-user.target

NOTA: è necessario modificare il NOME UTENTE nella configurazione precedente se si utilizzerà la stessa configurazione VNC. Questa è la configurazione che ho usato per questo tutorial.

Ora dobbiamo eseguire il comando vncpasswd per configurare la nostra password di accesso e/o password di sola visualizzazione (una password che consente all’utente di visualizzare solo lo schermo remoto):

# vncpasswd 
Password:
Verify:
Would you like to enter a view-only password (y/n)? n
A view-only password is not used

Ora abilita il servizio di avvio automatico e riavvialo:

$ systemctl enable vncserver@:1.service
$ systemctl restart vncserver@:1.service

Puoi controllare lo stato del servizio vnc digitando:

$ systemctl status vncserver@:1.service

Se tutto è andato bene, dovresti avere un output del terminale simile a questo:

$ 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 (exited) since Wed 2020-09-30 22:04:47 CEST; 7s ago
  Process: 3766 ExecStart=/usr/sbin/runuser -l slax -c /usr/bin/vncserver %i (code=exited, status=0/SUCCESS)
  Process: 3761 ExecStartPre=/bin/sh -c /usr/bin/vncserver -kill %i > /dev/null 2>&1 || : (code=exited, status=0/SUCCESS)
 Main PID: 3766 (code=exited, status=0/SUCCESS)

Sep 30 22:04:44 localhost.localdomain systemd[1]: Starting Remote desktop service (VNC)...
Sep 30 22:04:47 localhost.localdomain systemd[1]: Started Remote desktop service (VNC).

E infine connettiti ad esso:

# vncviewer YOUR_SERVER_IP

3) XRDP

XRDP è un server Open Source Remote Desktop Protocol. Per utilizzare XRDP, devi avere già installato il servizio VNC. Quindi dovresti seguire la prima o la seconda opzione in questo tutorial prima di installare XRDP.

Innanzitutto, dobbiamo installare il repository EPEL e il server xrdp:

# yum -y install epel-release
# yum -y install xrdp

Ora avviamo il servizio:

# systemctl start xrdp.service 

Controlla se funziona e aggiungilo all’avvio automatico.

# netstat -an | grep 3389 
tcp 0 0 0.0.0.0:3389 0.0.0.0:* LISTEN
# systemctl enable xrdp.service

È tutto. Ora puoi connetterti al server da qualsiasi computer Windows.

4) Visualizzatore di squadra

Teamviewer non esiste nei repository standard, quindi dobbiamo installare wget e scaricare il pacchetto rpm di TeamViewer

# yum -y install wget
# wget https://download.teamviewer.com/download/linux/teamviewer.x86_64.rpm

Installalo usando questo comando:

# yum install teamviewer.x86_64.rpm

E imposta la tua password:

# teamviewer passwd YOUR_PASSWORD
ok
# systemctl start teamviewerd.service

Ora devi solo ottenere l’id per accedere:

# teamviewer –info
TeamViewer ID: 9XXXXXXX7

Prova ad accedere utilizzando questo ID e password che hai impostato in precedenza:

5) FreeNX

FreeNX è una soluzione di accesso remoto basata su tecnologie open source di classe enterprise di NoMachine. Se desideri che questo strumento ottenga l’accesso remoto, puoi prendere in considerazione l’aggiornamento alla versione cloud.

Prima di tutto dobbiamo aggiungere i repository EPEL + nux-dextop, per Centos 6:

# rpm -Uvh https://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm
# rpm -Uvh http://li.nux.ro/download/nux/dextop/el6/x86_64/nux-dextop-release-0-2.el6.nux.noarch.rpm

Per Cento 7

# rpm -Uvh https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
# rpm -Uvh http://li.nux.ro/download/nux/dextop/el7/x86_64/nux-dextop-release-0-5.el7.nux.noarch.rpm

Installa server e agente:

# yum install freenx-server nxagent 

Abilita l’autenticazione passdb:

# echo 'ENABLE_PASSDB_AUTHENTICATION="1"' >> /etc/nxserver/node.conf

Ora dobbiamo creare un utente per l’accesso remoto e assegnargli una password:

# /usr/libexec/nx/nxserver --adduser bob 
NX> 100 NXSERVER - Version 3.2.0-74-SVN OS (GPL, using backend: not detected)
NX> 1000 NXNODE - Version 3.2.0-74-SVN OS (GPL, using backend: not detected)
NX> 716 Public key added to: /home/bob/.ssh/authorized_keys2
NX> 1001 Bye.
NX> 999 Bye

#/usr/libexec/nx/nxserver --passwd bob 
NX> 100 NXSERVER - Version 3.2.0-74-SVN OS (GPL, using backend: not detected)
New password:
Password changed.
NX> 999 Bye

Ora installeremo epel-repos e il client opennx sulla tua macchina:

# yum install opennx

Dopo aver avviato la procedura guidata opennx, ti verrà chiesto il nome della sessione, l’indirizzo del server e la porta. La cosa più importante è configurare la tua chiave. Dovrai copiare la chiave da /etc/nxserver/client.id_dsa.key del server e incollarla nella scheda generale delle proprietà della sessione del client.

Condividi i tuoi commenti su questo tutorial e facci sapere se conosci altri strumenti.

Related Articles

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *

Back to top button
Close