5 herramientas para habilitar el acceso a escritorio remoto en RHEL / CentOS 7
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.