Acceder por RDP a una máquina Linux en Microsoft Azure

Estos días estoy estudiando para presentarme a la LFCS (Linux Foundation Certified System Administrator). En cualquier plan de estudios te cuentan cómo configurar las máquinas que necesitas para los laboratorios, usando Virtual Box, Hyper-V o cualquier otro entorno de virtualización. Tanto por tiempo como por comodidad a día de hoy es mucho más sencillo montar tus laboratorios en la nube. Como en alguna de las prácticas me va a hacer falta usar un entorno desktop voy a contarte cómo puedes instalarlo y conectarte a través de RDP.

Lo primero que debes hacer es habilitar el puerto para conectarte por RDP. Para ello accede a la configuración de tu máquina Linux desde el portal de Microsoft Azure > Settings > Network Interfaces.

VM - Settings - Network interfaces
VM – Settings – Network interfaces

Selecciona la interfaz y accede a Network Security Group > haz clic en el grupo asociado y en la configuración accede al apartado Ibound Security rules.

NGS - Settings - Inbound security rules
NGS – Settings – Inbound security rules

En las máquinas linux por defecto está habilitado el puerto 22 para la conexión a través de SSH. Añade una nueva regla para dar permiso a través del puerto 3389 por TCP.

Add inbound security rule
Add inbound security rule

Una vez que tenemos habilitado el firewall para conectarnos, necesitas instalar un entorno de escritorio. Para este post he elegido GNOME y estoy utilizando la distribución CentOS. Antes de empezar a ejecutar comandos, habilita sudo para la sesión en curso:

sudo -s

Añade el siguiente repositiorio para poder conseguir los paquetes necesarios.

rpm -Uvh http://li.nux.ro/download/nux/dextop/el7/x86_64/nux-dextop-release-0-1.el7.nux.noarch.rpm

Para instalar el entorno gráfico puedes hacer uso de estos paquetes: GNOME Desktop y Graphical Administration Tools.

yum groupinstall "GNOME Desktop" "Graphical Administration Tools"

Crea un enlace entre runlevel5.target y default.target para que el entorno gráfico sea el entorno por defecto.

ln -sf /lib/systemd/system/runlevel5.target /etc/systemd/system/default.target

Ya tienes configurado GNOME. El siguiente paso es instalar xrdp para poder conectarnos a través de Remote Desktop.

 yum -y install xrdp tigervnc-server

Inicia el servicio xrdp.service.

systemctl start xrdp.service

Comprueba que el mismo se está ejecutando correctamente con el comando netstat.

netstat -antup | grep xrdp
netstat -antup grp xrdp
netstat -antup grp xrdp

Para que el servicio se inicie de manera automática al arrancar la máquina lanza el siguiente comando.

systemctl enable xrdp.service

Ahora es el momento de comprobar que todo funciona correctamente. Abre Remote Desktop Connection en tu máquina local y conecta con tu Linux a través de la IP pública, que puedes encontrar en el apartado Essentials del portal de Azure.

Remote Desktop Connection - XRDP
Remote Desktop Connection – XRDP

Inicia sesión con tu usario y contraseña y ya podrás ver el escritorio de tu máquina Linux.

Remote Desktop - MS Azure - Linux
Remote Desktop – MS Azure – Linux

Si trabajas con un teclado en español, como es mi caso, deberás además modificar el archivo /etc/xrdp/km-0409.ini con el mapeo de teclas que te comparto en Github.

¡Saludos!