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

Dernière mise à jour : 05/04/2021

J'ai une instance Mac Amazon Elastic Compute Cloud (Amazon EC2) sur un hôte dédié. Comment puis-je accéder à l'instance via une interface utilisateur graphique afin de pouvoir bénéficier de l'expérience de premier plan de l'environnement macOS ?

Résolution

Remarque : les étapes suivantes sont testées pour macOS Mojave 10.14.6 et macOS Catalina 10.15.7.

1.    Connectez-vous à votre instance Mac EC2 en utilisant SSH.

Linux

Utilisez la commande suivante pour SSH sur votre instance Mac EC2 en tant que ec2-user. Remplacez keypair_file par votre paire de clés et Instance-Public IP par l'IP publique de votre instance.

% ssh -i keypair_file ec2-user@Instance-Public-IP

Windows

Windows 10 et les versions plus récentes de Windows Server ont un client OpenSSH installé par défaut. Vous pouvez également activer le client OpenSSH en sélectionnant Settings (Paramètres), Apps (Applications), Manage optional features(Applications et fonctionnalités), Manage optional features (Gérer les fonctionnalités facultatives), Add a feature ( Ajouter une fonctionnalité), puis sélectionnez OpenSSH Client. Si vous utilisez une ancienne version de Windows, utilisez Git Bash pour exécuter la commande précédente.

Remarque : l'instance peut se trouver dans un sous-réseau public et être accessible via une adresse IP publique ou une adresse IP Elastic. Vous pouvez utiliser un bastion/saut pour vous connecter à l'instance. Vous pouvez également établir une connexion à l'aide d'AWS VPN ou d'AWS Direct Connect, qui vous permet d'accéder à votre instance via une adresse IP privée. Pour des raisons de sécurité, le trafic vers le serveur VNC est acheminé par tunnel à l'aide du protocole SSH. Une bonne pratique consiste à éviter d'ouvrir des ports VNC dans vos groupes de sécurité.

2.    Exécutez la commande suivante pour installer et démarrer VNC (macOS screen sharing SSH) à partir de l'instance Mac

sudo defaults write /var/db/launchd.db/com.apple.launchd/overrides.plist com.apple.screensharing -dict Disabled -bool false
sudo launchctl load -w /System/Library/LaunchDaemons/com.apple.screensharing.plist

3.    Exécutez la commande suivante pour définir un mot de passe pour ec2-user :

sudo /usr/bin/dscl . -passwd /Users/ec2-user

4.    Créez un tunnel SSH vers le port VNC. Dans la commande suivante, remplacez keypair_file par votre chemin de clé SSH et 192.0.2.0 par l'adresse IP ou le nom DNS de votre instance.

ssh -i keypair_file -L 5900:localhost:5900 ec2-user@192.0.2.0

Remarque : la séance SSH doit être en cours d'exécution lorsque vous êtes dans la séance distante.

5.    À l'aide d'un client VNC, connectez-vous à localhost:5900.

Remarque : macOS dispose d'un client VNC intégré. Pour Windows, vous pouvez utiliser la visionneuse RealVNC pour Windows. Pour Linux, vous pouvez utiliser Remmina. D'autres clients, tels que TightVNC s'exécutant sous Windows, ne fonctionnent pas avec cette résolution.

6.    Lancement de l'interface utilisateur graphique de macOS. Connectez-vous à la séance distante de l'instance Mac en tant qu'utilisateur ec2-à l'aide du mot de passe que vous avez défini à l'étape 3.

Vous êtes maintenant connecté à votre bureau macOS.


Cet article vous a-t-il été utile ?


Besoin d'aide pour une question technique ou de facturation ?