¿Cómo instalo una GUI en mi instancia de Amazon EC2 que ejecuta Amazon Linux 2?

9 minutos de lectura
0

Quiero instalar una interfaz gráfica de usuario (GUI) en mi instancia de Amazon Elastic Compute Cloud (Amazon EC2) que ejecuta Amazon Linux 2 (AL2).

Descripción corta

Para ejecutar aplicaciones gráficas en Linux, necesita un entorno de escritorio. Las imágenes de máquina de Amazon (AMI) estándar para AL2 no vienen con un entorno de escritorio instalado de forma predeterminada. Utilice la biblioteca AL2 Extras para instalar el entorno de escritorio MATE. Para obtener más información, consulte Entorno de escritorio MATE en el sitio web de MATE.

O bien, inicie la instancia desde una AMI de AL2 que venga con MATE preinstalado. Para obtener más información, consulte Configuración de la conexión a escritorio MATE de AL2. También puede usar escritorios virtuales en Amazon WorkSpaces para ejecutar AL2, Ubuntu Linux, Rocky Linux, Red Hat Enterprise Linux (RHEL) o Microsoft Windows.

Resolución

Nota: Si se muestran errores al ejecutar comandos de la Interfaz de la línea de comandos de AWS (AWS CLI), consulte Solución de problemas de AWS CLI. Además, asegúrese de utilizar la versión más reciente de la AWS CLI.

La siguiente resolución es solo para AL2. Para comprobar el nombre y la versión de su distribución de Linux, ejecute el siguiente comando:

grep PRETTY_NAME /etc/os-release

No puede usar los siguientes pasos de resolución para entornos que usan una instancia de bastión (salto) para conectarse a otras instancias de EC2 en una subred no pública. Para conectarse de forma segura a las instancias de EC2 que no tienen conectividad directa a Internet, utilice Punto de enlace de EC2 Instance Connect o Session Manager, una capacidad de AWS Systems Manager. O bien, utilice AWS Site-to-Site VPN o AWS Direct Connect para establecer una conectividad segura entre su red y AWS.

Actualización de la instancia

Se recomienda actualizar y reiniciar la instancia antes de instalar la GUI para evitar problemas.

Para actualizar la instancia, siga estos pasos:

  1. Conéctese a su instancia de Amazon EC2.

  2. Ejecute el comando siguiente para actualizar la instancia:

    sudo yum update
  3. Reinicie la instancia.

Instalación del entorno de escritorio MATE

Para instalar el entorno de escritorio MATE, siga estos pasos:

  1. Para instalar los paquetes MATE, ejecute el siguiente comando:

    sudo amazon-linux-extras install mate-desktop1.x
  2. Para definir MATE como su entorno de escritorio predeterminado para todos los usuarios, ejecute el siguiente comando:

    sudo bash -c 'echo PREFERRED=/usr/bin/mate-session > /etc/sysconfig/desktop'

Instalación de un servidor VNC

Instale un servidor de computación en red virtual (VNC), como TigerVNC, para acceder a los servicios de escritorio gráfico remoto. Para obtener más información sobre TigerVNC, consulte TigerVNC el sitio web de TigerVNC.

Por motivos de seguridad, la siguiente configuración no permite la conectividad directa a través de TigerVNC. En su lugar, debe usar un túnel SSH cifrado para acceder a la GUI. Se recomienda no abrir puertos VNC en los grupos de seguridad.

Para instalar TigerVNC, siga estos pasos:

  1. Para instalar el servidor TigerVNC; ejecute el siguiente comando:

    sudo yum install tigervnc-server
  2. Para configurar una contraseña específica de VNC para su usuario, ejecute el siguiente comando:

    vncpasswd

    Nota: Cuando el terminal pregunte si desea introducir una contraseña de solo lectura, pulse n. La contraseña no cifrada se graba en un archivo del directorio principal. Solo su usuario y el usuario raíz pueden acceder al archivo. Un mecanismo de desafío-respuesta protege las contraseñas transmitidas a través de la red. Para obtener más información, consulte vncpasswd en el sitio web de TigerVNC. El túnel SSH que utiliza protege aún más las conexiones con un cifrado más sólido.

  3. Para crear el directorio de configuración para todo el sistema de tigervnc, ejecute el siguiente comando:

    sudo mkdir /etc/tigervnc
  4. Para bloquear la conectividad directa con el VNC, ejecute el siguiente comando:

    sudo bash -c 'echo localhost > /etc/tigervnc/vncserver-config-mandatory'
  5. Para crear una nueva unidad systemd para TigerVNC, ejecute el siguiente comando:

    sudo cp /lib/systemd/system/vncserver@.service /etc/systemd/system/vncserver@.service
  6. Para sustituir todas las apariciones de <USER> en la nueva unidad por su nombre de usuario, ejecute el siguiente comando:

    sudo sed -i 's/<USER>/'${USER}'/' /etc/systemd/system/vncserver@.service
  7. Para volver a cargar la configuración del administrador systemd, ejecute los siguientes comandos:

    sudo systemctl daemon-reload
  8. Para activar el servicio TigerVNC al arrancar, ejecute el siguiente comando:

    sudo systemctl enable vncserver@:1
  9. Para iniciar el servicio TigerVNC, ejecute el siguiente comando:

    sudo systemctl start vncserver@:1
  10. Para confirmar que el servicio TigerVNC se ejecuta, ejecute el siguiente comando:

sudo systemctl status vncserver@:1
  1. Para confirmar que TigerVNC escucha en el puerto TCP 5901, ejecute el siguiente comando:
ss -lnp '( sport = :5901 )'

Instalación del Visor de TigerVNC en su equipo local

El Visor de TigerVNC está disponible para Windows, macOS y Linux. Para descargar la herramienta, consulte Lanzamientos en GitHub.

Según su sistema operativo (SO), descargue la siguiente versión del Visor de TigerVNC:

  • Para Windows, instale tigervnc64-x.y.z.exe (64 bits) o tigervnc-x.y.z.exe (32 bits).
  • Para macOS, instale TigerVNC-x.y.z.dmg.
    Nota: Sustituya x.y.z por el número de versión más reciente.
  • Para Linux, puede encontrar el paquete TigerVNC en los repositorios de muchas distribuciones. Consulte las instrucciones de distribución para obtener información sobre cómo instalar los paquetes. O bien, descargue e instale el binario correspondiente desde GitHub.

Acceso a la GUI

Para acceder a la GUI, primero debe conectarse a la instancia desde su equipo local con el reenvío de puertos activado para el puerto TCP 5901. Esta configuración crea un túnel SSH cifrado para el tráfico de VNC. A continuación, utilice el visor VNC para conectarse a la GUI.

Creación de un túnel SSH cifrado

Importante: Asegúrese de que el firewall de su equipo local permita las conexiones TCP al puerto 5901.

Si usa PuTTY para conectarse a la instancia, siga estos pasos antes de abrir la conexión:

  1. En el panel de navegación Categoría, expanda Conexión y, a continuación, elija SSH.
  2. Expanda SSH y, a continuación, seleccione Túneles.
  3. En Puerto de origen, escriba 5901.
  4. En Destino, introduzca localhost:5901.
  5. Elija Agregar.

Si usa un cliente SSH para conectarse a la instancia, ejecute el siguiente comando para activar el reenvío de puertos:

ssh -L 5901:localhost:5901 -i /path/key-pair-name.pem user@instance-dns-name

Nota: Sustituya path por la ruta de su clave y key-pair-name por el nombre del archivo de clave privada. Sustituya user por el nombre de usuario e instance-dns-name por el nombre DNS o la dirección IP de la instancia. El nombre de usuario predeterminado para AL2 es ec2-user.

Si usa EC2 Instance Connect para conectarse a la instancia, debe ejecutar el siguiente comando de la AWS CLI ec2-instance-connect para activar el reenvío de puertos:

aws ec2-instance-connect ssh --instance-id i-1234567890example --connection-type direct --local-forwarding 5901:localhost:5901

Nota: Sustituya i-1234567890example por el ID de la instancia. Si usa el punto de enlace de EC2 Instance Connect, sustituya direct por eice.

Si usa Session Manager para conectarse a la instancia, debe iniciar una sesión de reenvío de puertos de Session Manager. Para los puertos local y remoto, escriba 5901.

Uso del Visor de VNC para conectarse a la GUI

Siga estos pasos:

  1. Abra el Visor de TigerVNC en su equipo local.
  2. Para el servidor VNC, introduzca localhost:1 y ,a continuación, elija Conectar.
  3. Introduzca su contraseña de VNC.
    Nota: Si recibe una alerta que indica que la conexión no es segura, ignórela. Está accediendo al servidor VNC a través del túnel SSH cifrado que ha creado.

(Opcional) Desactivación de la autenticación con contraseña para VNC

Importante: Se recomienda desactivar la autenticación con contraseña solo para las instancias de un solo usuario. Cuando la autenticación con contraseña de VNC está desactivada, cualquier usuario que pueda iniciar sesión en su instancia puede crear un túnel SSH y acceder a su escritorio de VNC.

Para desactivar la autenticación con contraseña para VNC, siga estos pasos:

  1. Ejecute el siguiente comando para cambiar la configuración de tipos de seguridad del servidor VNC a Ninguno:

    echo SecurityTypes=None >> ~/.vnc/config
  2. Para reiniciar el servidor VNC, ejecute el siguiente comando:

    sudo systemctl restart vncserver@:1

(Opcional) Instalación de un navegador web

AWS no proporciona navegadores web en los repositorios de AL2. Sin embargo, puede instalar navegadores web como Chromium en el sitio web de Chromium Projects o navegadores Firefox en el sitio web de Mozilla.

Nota: AWS no admite software que haya instalado desde orígenes de terceros.

Los siguientes pasos de instalación son solo para instancias basadas en la arquitectura x86_64 (procesadores Intel y AMD). No puede usar la siguiente resolución para instancias basadas en la arquitectura aarch64 (procesadores AWS Graviton). Para comprobar la arquitectura de la instancia, ejecute el siguiente comando:

uname -m

Instalación de Chromium

Siga estos pasos:

  1. Para activar el repositorio Paquetes adicionales para Enterprise Linux (EPEL), ejecute el siguiente comando:

    sudo amazon-linux-extras install epel

    Nota: Para obtener más información, consulte Paquetes adicionales para Enterprise Linux (EPEL) en el sitio web de Fedora Project.

  2. Para instalar los paquetes de Chromium, ejecute el siguiente comando:

    sudo yum install chromium
  3. En el escritorio MATE, elija Aplicaciones y, a continuación, Internet. Puede encontrar Chromium en la lista como navegador web Chromium.

Instalación de Firefox

Nota: Puede instalar Firefox solo para el usuario actual.

Para instalar Firefox para el usuario actual en su instancia de AL2, siga estos pasos:

  1. Para descargar la versión más reciente de Firefox para Linux de 64 bits, ejecute el siguiente comando:

    curl -L -o ~/firefox.tar.xz 'https://download.mozilla.org/?product=firefox-latest-ssl&os=linux64&lang=en-US'
  2. Para extraer el contenido del archivo descargado, ejecute el siguiente comando:

    tar Jxf ~/firefox.tar.xz -C ~/
  3. Para crear un acceso directo de Firefox en su escritorio, ejecute el siguiente comando:

    echo '[Desktop Entry]
    Version=1.0
    Type=Application
    Terminal=false
    Icon=/home/ec2-user/firefox/browser/chrome/icons/default/default128.png
    Exec=/home/ec2-user/firefox/firefox
    Name=Firefox
    Comment=Firefox web browser
    GenericName=Firefox web browser
    Categories=Network;WebBrowser;' > ~/Desktop/Firefox.desktop
  4. Use el acceso directo del escritorio para iniciar Firefox.
    Nota: Si se muestra un mensaje en el que se indica que el iniciador de aplicaciones no es de confianza, seleccione Marcar como de confianza.

Información relacionada

¿Cómo puedo acceder a mi instancia de macOS de Amazon EC2 a través de una interfaz gráfica de usuario?

OFICIAL DE AWS
OFICIAL DE AWSActualizada hace un mes