LINUX

5 herramientas para habilitar el acceso a escritorio remoto en RHEL / CentOS 7

centos de acceso a escritorio remoto

En este tutorial, le mostraré las herramientas que le permiten acceder al escritorio remoto en máquinas que ejecutan CentOS / RHEL. Todas estas aplicaciones funcionan en modo cliente-servidor. Por lo tanto, debe ejecutar una aplicación del lado del servidor en su máquina remota y, después de eso, podrá conectarse a ella desde todo el mundo. Por supuesto, en este manual de referencia, te diré cómo configurar esto de forma segura, para que solo tú puedas acceder a tu servidor.

Antes de comenzar, necesitará acceso SSH a su servidor y permisos para instalar el software. Deberá iniciar sesión como usuario root o usuario con privilegios de sudo. Todos los comandos funcionarán en todos los servidores CentOS 5/6/7/8. Antes de comenzar, debe instalar el entorno de escritorio en su servidor.

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

1) VNC

x11vnc: el más simple de estos tres métodos para obtener acceso remoto. VNC significa Virtual Network Computing) es un protocolo de gráficos de red muy útil.

Debe habilitar el repositorio EPEL (Paquetes adicionales para Enterprise Linux). Correr

# yum -y install epel-release

Ahora podemos instalar x11vnc. Este comando instalará el servidor y resolverá todas las dependencias:

# yum -y install x11vnc

Luego protegeremos el servidor con contraseña:

# x11vnc -storepasswd

Enter VNC password:

Verify password:

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

Password written to: /root/.vnc/passwd

¡No use contraseñas simples!

Ahora estamos listos para iniciar el servidor:

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

Puede comprobar si los servidores se iniciaron:

# netstat -an | grep 5900

tcp 0 0 0.0.0.0:5900 0.0.0.0:* LISTEN

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

Si está bien, simplemente intente conectarse usando vncviewer.

# yum -y install vnc
# vncviewer YOUR_SERVER_IP

¡Eso es todo! Ahora tienes acceso a tu escritorio. Después de reiniciar solo ssh de nuevo y hazlo de nuevo

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

2) servidor TigerVNC

TigerVNC: es una implementación de VNC de alto rendimiento y de plataforma neutral

# yum install -y tigervnc-server

Copiemos la configuración de ejemplo y editámosla:

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

Ejemplo de configuración:

[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: Debe cambiar el NOMBRE DE USUARIO en la configuración anterior si utilizará la misma configuración de VNC. Esta es la configuración que usamos para este tutorial.

Ahora debemos ejecutar el comando vncpasswd para configurar nuestra contraseña de acceso y / o contraseña de solo lectura (una contraseña que permite al usuario ver solo la pantalla remota):

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

Ahora habilite el servicio de inicio automático y reinícielo:

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

Puede verificar el estado del servicio vnc escribiendo:

$ systemctl status vncserver@:1.service

Si todo salió bien, debería tener una salida de terminal similar a esta:

$ 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).

Y finalmente conéctate a él:

# vncviewer YOUR_SERVER_IP

3) XRDP

XRDP es un servidor de protocolo de escritorio remoto de código abierto. Para utilizar XRDP, debe tener el servicio VNC ya instalado. Por lo tanto, debe seguir la primera o la segunda opción de este tutorial antes de la instalación de XRDP.

En primer lugar, necesitamos instalar el repositorio EPEL y el servidor xrdp:

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

Ahora comencemos el servicio:

# systemctl start xrdp.service 

Compruebe si se está ejecutando y agréguelo al inicio automático.

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

Eso es todo. Ahora puede conectarse a su servidor desde cualquier máquina con Windows.

4) Teamviewer

Teamviewer no existe en repositorios estándar, por lo que necesitamos instalar wget y descargar el paquete rpm de TeamViewer

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

Instálelo usando este comando:

# yum install teamviewer.x86_64.rpm

Y establezca su contraseña:

# teamviewer passwd YOUR_PASSWORD
ok
# systemctl start teamviewerd.service

Ahora solo necesita obtener su identificación para conectarse:

# teamviewer –info
TeamViewer ID: 9XXXXXXX7

Intenta conectarte a él usando esta identificación y contraseña que estableciste antes:

5) FreeNX

FreeNX es una solución de acceso remoto basada en tecnologías de código abierto de clase empresarial de NoMachine. Si desea exactamente que esta herramienta obtenga acceso remoto, puede considerar actualizar a la versión en la nube.

En primer lugar, debemos agregar los repositorios EPEL + nux-dextop, para 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

Para Centos 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

Instale el servidor y el agente:

# yum install freenx-server nxagent 

Habilite la autenticación passdb:

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

Ahora necesitamos crear un usuario para acceso remoto y asignarle una contraseña:

# /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

Ahora instalaremos epel-repos y el cliente opennx en su máquina:

# yum install opennx

Después de iniciar el asistente de opennx, se le preguntará sobre el nombre de la sesión, la dirección del servidor y el puerto. Lo más importante es configurar su clave. Deberá copiar la clave del servidor /etc/nxserver/client.id_dsa.key y pegarla en la pestaña general de las propiedades de la sesión de su cliente.

Comparta sus comentarios sobre este tutorial y háganos saber si conoce otras herramientas.

Publicaciones relacionadas

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Botón volver arriba
Cerrar