En este tutorial, le mostraré herramientas que le permitirán acceder a 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 cualquier parte del mundo. Por supuesto, en este manual de referencia, le diré cómo configurar esto de forma segura, para que solo usted pueda acceder a su servidor.
Antes de comenzar, necesitará acceso SSH a su servidor y permisos para instalar el software. Deberá iniciar sesión como usuario raíz 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 (Extra Packages for Enterprise Linux). Ejecutar
# 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 utilices contraseñas simples!
Ahora estamos listos para iniciar el servidor:
# x11vnc --reopen --forever -rfbauth ~/.vncpasswd &
Puede verificar si los servidores comenzaron:
# 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 simplemente ssh de nuevo y hazlo de nuevo.
x11vnc --reopen --forever -rfbauth ~/.vnc/passwd &
2) Servidor TigerVNC
TigerVNC:es una implementación de VNC de alto rendimiento e independiente de la plataforma
# yum install -y tigervnc-server
Copiemos la configuración de ejemplo y editémosla:
# cp /lib/systemd/system/[email protected] /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 usará 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 vista (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éctese a él:
# vncviewer YOUR_SERVER_IP
3) XRDP
XRDP es un servidor de protocolo de escritorio remoto de código abierto. Para usar 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, debemos 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) Visor de equipos
Teamviewer no existe en los repositorios estándar, por lo que debemos 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álalo usando este comando:
# yum install teamviewer.x86_64.rpm
Y establece tu contraseña:
# teamviewer passwd YOUR_PASSWORD
ok
# systemctl start teamviewerd.service
Ahora solo necesitas obtener tu id para conectarte:
# teamviewer –info
TeamViewer ID: 9XXXXXXX7
Intente conectarse usando esta identificación y contraseña que configuró 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 esta herramienta para obtener acceso remoto, puede considerar actualizar a la versión en la nube.
En primer lugar, debemos agregar los repositorios e 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
Instalar servidor y agente:
# yum install freenx-server nxagent
Habilitar 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 opennx client 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.