Passer au contenu

Comment installer une interface utilisateur graphique sur une instance Amazon EC2 exécutant Amazon Linux 2 ?

Lecture de 10 minute(s)
0

Je souhaite installer une interface utilisateur graphique (GUI) dans mon instance Amazon Elastic Compute Cloud (Amazon EC2) qui exécute Amazon Linux 2 (AL2).

Brève description

Pour exécuter des applications graphiques sous Linux, vous avez besoin d'un environnement de bureau. Les Amazon Machine Images (AMI) standard pour AL2 ne sont pas fournies avec un environnement de bureau installé par défaut. Utilisez la bibliothèque AL2 Extras pour installer l'environnement de bureau MATE. Pour plus d'informations, consultez la page Environnement de bureau MATE sur le site Web de MATE.

Vous pouvez également lancer l'instance à partir d'une AMI AL2 fournie avec MATE préinstallé. Pour en savoir plus, consultez la section Configurer la connexion de bureau AL2 MATE. Vous pouvez également utiliser des bureaux virtuels sur Amazon WorkSpaces pour exécuter AL2, Ubuntu Linux, Rocky Linux, Red Hat Enterprise Linux (RHEL) ou Microsoft Windows.

Remarque : La résolution suivante concerne les instances qui s'exécutent uniquement sur AL2. Elle ne fonctionne pas pour Amazon Linux 1 (AL1) ni pour Amazon Linux 2023 (AL2023). Pour plus d'informations sur l'installation de l'interface graphique dans AL2023, consultez la section Tutoriel : Installer l'environnement de bureau GNOME sur AL2023. Après avoir configuré une interface graphique sur AL2023, vous pouvez configurer le serveur Tiger VNC sur AL2023 pour vous connecter à l'interface graphique.

Résolution

Remarque : Si des erreurs surviennent lorsque vous exécutez des commandes de l'interface de la ligne de commande AWS (AWS CLI), consultez la section Résoudre des erreurs liées à l’AWS CLI. Vérifiez également que vous utilisez bien la version la plus récente de l’AWS CLI.

La résolution suivante ne concerne que AL2. Pour vérifier le nom et la version de votre distribution Linux, exécutez la commande suivante :

grep PRETTY_NAME /etc/os-release

Vous ne pouvez pas suivre les étapes de résolution suivantes pour les environnements qui utilisent une instance (jump) bastion pour se connecter à d'autres instances EC2 dans un sous-réseau non public. Pour vous connecter en toute sécurité aux instances EC2 qui ne disposent pas d'une connexion Internet directe, utilisez le Point de terminaison d'instance Connect EC2 ou le Gestionnaire de sessions, une fonctionnalité d'AWS Systems Manager. Vous pouvez également utiliser l’AWS Site-to-Site VPN ou AWS Direct Connect pour établir une connectivité sécurisée entre votre réseau et AWS.

Mettre à jour votre instance

Il est recommandé de mettre à jour et de redémarrer votre instance avant d'installer l'interface graphique pour éviter tout problème.

Pour mettre à jour votre instance, procédez comme suit :

  1. Connectez-vous à votre instance Amazon EC2.

  2. Exécutez la commande suivante pour mettre à jour votre instance :

    sudo yum update
  3. Redémarrez votre instance.

Installer l’environnement de bureau MATE

Pour installer l'environnement de bureau MATE, procédez comme suit :

  1. Pour installer les packages MATE, exécutez la commande suivante :

    sudo amazon-linux-extras install mate-desktop1.x
  2. Pour définir MATE comme environnement de bureau par défaut pour tous les utilisateurs, exécutez la commande suivante :

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

Installer un serveur VNC

Installez un serveur VNC (Virtual Network Computing), tel que TigerVNC, pour accéder aux services de bureau graphique à distance. Pour en savoir plus sur TigerVNC, consultez la page TigerVNC sur le site Web de TigerVNC.

Pour des raisons de sécurité, la configuration suivante n'autorise pas la connectivité directe via TigerVNC. Vous devez plutôt utiliser un tunnel SSH chiffré pour accéder à l'interface graphique. Il est recommandé de ne pas ouvrir les ports VNC dans vos groupes de sécurité.

Pour installer TigerVNC, procédez comme suit :

  1. Pour installer le serveur TigerVNC, exécutez la commande suivante :

    sudo yum install tigervnc-server
  2. Pour configurer un mot de passe spécifique à VNC pour votre utilisateur, exécutez la commande suivante :

    vncpasswd

    Remarque : Lorsque le terminal vous demande si vous souhaitez saisir un mot de passe en lecture seule, appuyez sur n. Le mot de passe non chiffré est enregistré dans un fichier de votre répertoire personnel. Seuls votre utilisateur et l'utilisateur racine peuvent accéder au fichier. Un mécanisme de question-réponse protège les mots de passe transmis sur le réseau. Pour plus d'informations, consultez vncpasswd sur le site Web de TigerVNC. Le tunnel SSH que vous utilisez protège davantage les connexions grâce à un chiffrement renforcé.

  3. Pour créer le répertoire de configuration à l'échelle du système tigervnc, exécutez la commande suivante :

    sudo mkdir /etc/tigervnc
  4. Pour bloquer la connectivité directe au VNC, exécutez la commande suivante :

    sudo bash -c 'echo localhost > /etc/tigervnc/vncserver-config-mandatory'
  5. Pour créer une nouvelle unité systemd pour TigerVNC, exécutez la commande suivante :

    sudo cp /lib/systemd/system/vncserver@.service /etc/systemd/system/vncserver@.service
  6. Pour remplacer toutes les occurrences de <USER> dans la nouvelle unité par votre nom d'utilisateur, exécutez la commande suivante :

    sudo sed -i 's/<USER>/'${USER}'/' /etc/systemd/system/vncserver@.service
  7. Pour recharger la configuration du gestionnaire systemd, exécutez les commandes suivantes :

    sudo systemctl daemon-reload
  8. Pour activer le service TigerVNC au démarrage, exécutez la commande suivante :

    sudo systemctl enable vncserver@:1
  9. Pour démarrer le service TigerVNC, exécutez la commande suivante :

    sudo systemctl start vncserver@:1
  10. Pour confirmer que le service TigerVNC s'exécute, exécutez la commande suivante :

sudo systemctl status vncserver@:1
  1. Pour vérifier que le TigerVNC écoute sur le port TCP 5901, exécutez la commande suivante :
ss -lnp '( sport = :5901 )'

Ouvrez TigerVNC Viewer sur votre ordinateur local.

TigerVNC Viewer est disponible pour Windows, macOS et Linux. Pour télécharger l'outil, consultez la section Versions sur GitHub.

En fonction de votre système d'exploitation (OS), téléchargez la version suivante de TigerVNC Viewer :

  • Pour Windows, installez tigervnc64-x.y.z.exe (64 bits) ou tigervnc-x.y.z.exe (32 bits).
  • Pour macOS, installez TigerVNC-x.y.z.dmg.
    Remarque : Remplacez x.y.z par le numéro de version le plus récent.
  • Pour Linux, vous pouvez trouver le package TigerVNC dans les référentiels de nombreuses distributions. Consultez vos instructions de distribution pour savoir comment installer les packages. Vous pouvez également télécharger et installer le fichier binaire correspondant depuis GitHub.

Accéder à l'interface graphique

Pour accéder à l'interface graphique, vous devez d'abord vous connecter à votre instance depuis votre ordinateur local en activant la redirection de port pour le port TCP 5901. Cette configuration crée un tunnel SSH chiffré pour le trafic VNC. Puis, utilisez VNC Viewer pour vous connecter à l'interface graphique.

Créer un tunnel SSH chiffré

Important : Assurez-vous que le pare-feu de votre ordinateur local autorise les connexions TCP au port 5901.

Si vous utilisez PuTTY pour vous connecter à votre instance, procédez comme suit avant d'ouvrir la connexion :

  1. Dans le volet de navigation Catégorie, développez Connexion, puis choisissez SSH.
  2. Développez SSH, puis choisissez Tunnels.
  3. Pour Port source, entrez 5901.
  4. Dans Destination, saisissez localhost:5901.
  5. Sélectionnez Ajouter.

Si vous utilisez un client SSH pour vous connecter à votre instance, exécutez la commande suivante pour activer la redirection de port :

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

Remarque : Remplacez path par votre chemin de clé et key-pair-name par le nom du fichier de clé privée. Remplacez user par le nom d'utilisateur et instance-dns-name par le nom DNS ou l'adresse IP de votre instance. Le nom d'utilisateur par défaut pour AL2 est ec2-user.

Si vous utilisez EC2 Instance Connect pour vous connecter à votre instance, vous devez exécuter la commande EC2-instance-connect AWS CLI suivante pour activer la redirection de port :

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

Remarque : Remplacez i-1234567890example par l'ID de votre instance. Si vous utilisez EC2 Instance Connect Endpoint, remplacez direct par eice.

Si vous utilisez le Gestionnaire de sessions pour vous connecter à votre instance, vous devez démarrer une session de redirection de port du Gestionnaire de sessions. Pour le port local et le port distant, entrez 5901.

Utiliser VNC Viewer pour se connecter à l'interface graphique

Procédez comme suit :

  1. Ouvrez TigerVNC Viewer sur votre ordinateur local.
  2. Pour Serveur VNC, entrez localhost:1, puis choisissez Se connecter
  3. Entrez votre mot de passe VNC.
    Remarque : Si vous recevez une alerte indiquant que la connexion n'est pas sécurisée, ignorez-la. Vous accédez au serveur VNC via le tunnel SSH chiffré que vous avez créé.

(Facultatif) Désactiver l'authentification par mot de passe pour VNC

Important : Il est recommandé de désactiver l'authentification par mot de passe uniquement pour les instances mono-utilisateur. Lorsque l'authentification par mot de passe VNC est désactivée, tout utilisateur pouvant se connecter à votre instance peut créer un tunnel SSH et accéder à votre bureau VNC.

Pour désactiver l'authentification par mot de passe pour VNC, procédez comme suit :

  1. Exécutez la commande suivante pour configurer le paramètre Types de sécurité du serveur VNC sur Aucun :

    echo SecurityTypes=None >> ~/.vnc/config
  2. Pour redémarrer le serveur VNC, exécutez la commande suivante :

    sudo systemctl restart vncserver@:1

(Facultatif) Installer un navigateur Web

AWS ne fournit pas de navigateur Web dans les référentiels AL2. Cependant, vous pouvez installer des navigateurs Web tels que Chromium sur le site Web de Chromium Projects ou des navigateurs Firefox sur le site Web de Mozilla.

Remarque : Gardez à l’esprit qu'AWS ne fournit pas de support pour les logiciels installés à partir de sources tierces.

Les étapes d'installation suivantes concernent uniquement les instances basées sur l'architecture x86_64 (processeurs Intel et AMD). Vous ne pouvez pas utiliser la résolution suivante pour les instances basées sur l'architecture aarch64 (processeurs AWS Graviton). Pour confirmer l’architecture de votre instance, exécutez la commande suivante :

uname -m

Installer Chromium

Procédez comme suit :

  1. Pour activer le référentiel EPEL (Extra Packages for Enterprise Linux), exécutez la commande suivante :

    sudo amazon-linux-extras install epel

    Remarque : Pour plus d'informations, consultez les packages supplémentaires pour Enterprise Linux (EPEL) sur le site Web de Fedora Project.

  2. Pour installer les packages Chromium, exécutez la commande suivante :

    sudo yum install chromium
  3. Sur le bureau MATE, choisissez Applications, puis Internet. Vous pouvez trouver Chromium répertorié comme navigateur Web Chromium.

Installer Firefox

Remarque : Vous ne pouvez installer Firefox que pour l'utilisateur actuel.

Pour installer Firefox pour l'utilisateur actuel sur votre instance AL2, procédez comme suit :

  1. Pour télécharger la dernière version de Firefox pour Linux 64 bits, exécutez la commande suivante :

    curl -L -o ~/firefox.tar.xz 'https://download.mozilla.org/?product=firefox-latest-ssl&os=linux64&lang=en-US'
  2. Pour extraire le contenu du fichier téléchargé, exécutez la commande suivante :

    tar Jxf ~/firefox.tar.xz -C ~/
  3. Pour créer un raccourci Firefox sur votre bureau, exécutez la commande suivante :

    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. Utilisez le raccourci sur le bureau pour lancer Firefox.
    Remarque : Si vous recevez un message indiquant que le lanceur d'applications n'est pas fiable, choisissez Marquer comme fiable.

Informations connexes

Comment puis-je accéder à mon instance macOS Amazon EC2 via une interface utilisateur graphique ?

AWS OFFICIELA mis à jour il y a 7 mois