In questo tutorial, ti mostrerò gli strumenti che ti consentono di accedere al desktop remoto su macchine che eseguono CentOS/RHEL. Tutte queste app funzionano in modalità client-server. Quindi devi eseguire un'app lato server sulla tua macchina remota e successivamente sarai in grado di connetterti ad essa da tutto il mondo. Naturalmente in questo manuale 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 i privilegi sudo. Tutti i comandi funzioneranno su ogni server CentOS 5/6/7/8. Prima di iniziare, devi installare l'ambiente desktop sul tuo 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.
È necessario abilitare il repository EPEL (Extra Packages for Enterprise Linux). Corri
# 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 il server con password:
# x11vnc -storepasswd
Enter VNC password:
Verify password:
Write password to /root/.vnc/passwd? [y]/n y
Password written to: /root/.vnc/passwd !Non utilizzare password semplici!
Ora siamo pronti per avviare il server:
# x11vnc --reopen --forever -rfbauth ~/.vncpasswd & Puoi controllare 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 semplicemente a connetterti usando vncviewer.
# yum -y install vnc
# vncviewer YOUR_SERVER_IP È tutto! Ora hai accesso al tuo desktop. Dopo il riavvio, 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 la modifichiamo:
# 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 sopra se utilizzerai la stessa configurazione VNC. Questa è la configurazione che abbiamo usato per questo tutorial.
Ora dobbiamo eseguire il comando vncpasswd per impostare la nostra password di accesso e/o la 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 di protocollo desktop remoto Open Source. Per utilizzare XRDP è necessario che il servizio VNC sia già installato. Quindi dovresti seguire la prima o la seconda opzione di questo tutorial prima dell'installazione di XRDP.
Prima di tutto dobbiamo installare il repository EPEL e il server xrdp:
# yum -y install epel-release
# yum -y install xrdp Ora iniziamo il servizio:
# systemctl start xrdp.service Controlla se è in esecuzione 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 tuo server da qualsiasi macchina Windows.
4) Visualizzatore team
Teamviewer non esiste nei repository standard, quindi è necessario installare wget e scaricare il pacchetto rpm 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 il tuo ID per connetterti:
# teamviewer –info
TeamViewer ID: 9XXXXXXX7 Prova a connetterti utilizzando questo ID e la password che hai impostato prima:
5) FreeNX
FreeNX è una soluzione di accesso remoto basata su tecnologie open source di classe enterprise di NoMachine. Se vuoi che esattamente questo strumento ottenga l'accesso remoto, potresti prendere in considerazione l'aggiornamento alla versione cloud.
Prima di tutto dobbiamo aggiungere e EPEL + repository 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 autenticazione passdb:
# echo 'ENABLE_PASSDB_AUTHENTICATION="1"' >> /etc/nxserver/node.conf Ora dobbiamo creare l'utente per l'accesso remoto e assegnargli la 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 client opennx sul tuo computer:
# yum install opennx Dopo aver avviato la procedura guidata di opennx, ti verrà chiesto il nome della sessione, l'indirizzo del server e la porta. La cosa più importante è impostare la chiave. Dovrai copiare la chiave dal server /etc/nxserver/client.id_dsa.key e incollarla nella scheda generale delle proprietà della sessione del client.
Condividi i tuoi commenti su questo tutorial e facci sapere se sei a conoscenza di altri strumenti.