Quelles méthodes utiliser pour me connecter à mon instance Linux EC2 ?

Lecture de 9 minute(s)
0

Je souhaite connaître les options disponibles pour me connecter à mon instance Linux Amazon Elastic Compute Cloud (Amazon EC2).

Brève description

Il existe quatre méthodes pour se connecter aux instances Linux Amazon EC2 :

  • Secure Shell (SSH)
  • EC2 Serial Console pour les instances Linux
  • Gestionnaire de session, une fonctionnalité d'AWS Systems Manager
  • Amazon EC2 Instance Connect

Résolution

SSH

Limites :

Important : Assurez-vous de remplir tous les prérequis avant de vous connecter à votre instance.

Méthode 1 : Utiliser une fenêtre de terminal

Ouvrez une fenêtre de terminal (Linux ou macOS), puis exécutez la commande SSH pour vous connecter à l'instance.

Utilisez le nom de domaine public :

ssh -i /path/key-pair-name.pem instance-user-name@instance-public-dns-name

Utilisez l'adresse IPv4 publique :

ssh -i /path/key-pair-name.pem instance-user-name@instance-public-IPv4-address

Utilisez l'adresse IPv6 publique :

ssh -i /path/key-pair-name.pem instance-user-name@instance-IPv6-address

Pour plus d'informations, consultez Se connecter à votre instance Linux à l'aide d'un client SSH.

Méthode 2 : Utiliser OpenSSH à partir de Windows

1.Exécutez la commande suivante pour utiliser PowerShell afin d'installer OpenSSH pour Windows.

Add-WindowsCapability -Online -Name OpenSSH.Client~~~~0.0.1.0

Remarque : Pour installer OpenSSH, vous devez exécuter PowerShell en tant qu'administrateur.

2.Exécutez la commande SSH pour vous connecter à votre instance :

Utilisez le nom de domaine public :

ssh -i /path/key-pair-name.pem instance-user-name@instance-public-dns-name

Utilisez l'adresse IPv4 publique :

ssh -i /path/key-pair-name.pem instance-user-name@instance-public-IPv4-address

Utilisez l'adresse IPv6 publique :

ssh -i /path/key-pair-name.pem instance-user-name@instance-IPv6-address

Méthode 3 : Utiliser PuTTY à partir de Windows

1.Utilisez PuTTYgen pour convertir votre clé privée.

2.Utilisez PuTTY pour vous connecter à votre instance.

3.Démarrez PuTTY.

4.Sous Catégorie, choisissez Session.

5.Pour leNom d'hôte, entrez la combinaison nom d'utilisateur/nom d'hôte :

Utilisez le nom de domaine public :

instance-user-name@instance-public-dns-name

Utilisez l'adresse IPv4 publique :

instance-user-name@instance-IPv4-address

Utilisez l'adresse IPv6 publique :

instance-user-name@instance-IPv6-address

6.Assurez-vous que la valeur du Port correspond au port du service SSH (22 par défaut).

7.Pour le Type de connexion, choisissez SSH.

8.Sous Catégorie, développez Connexion, développez SSH, puis choisissez Auth.

9.Choisissez Parcourir, puis sélectionnez le fichier .ppk que vous avez généré pour votre paire de clés.

10.Choisissez Ouvrir.

Remarque : Lors de votre première connexion à une instance, vous devez confirmer que vous faites confiance à l'hôte distant.

EC2 Serial Console pour les instances Linux

L'EC2 Serial Console établit une connexion série avec les instances EC2 qui vous permet de résoudre les problèmes de démarrage et de connexion réseau.

Limites :

  • Une seule connexion à une console de série active est prise en charge par instance.
  • Il doit y avoir un intervalle d'au moins 30 secondes entre les sessions.
  • Il y a une légère baisse du débit de votre instance pendant la session d'EC2 Serial Console.
  • Les instances Xen ne sont pas prises en charge.
  • L'EC2 Serial Console n'est pas prise en charge pour Wavelength Zones et AWS Outposts.
  • L'EC2 Serial Console n'est prise en charge que dans certaines régions AWS.

Important : Assurez-vous de remplir tous les prérequis avant de vous connecter à l'aide de l'EC2 Serial Console.

Méthode 1 : Utiliser le client basé sur le navigateur

1.Ouvrez la console EC2.

2.Choisissez Instances.

3.Sélectionnez votre instance, puis choisissez Actions, Surveillance et dépannage, EC2 Serial Console et Se connecter. Vous pouvez également choisir l'instance, puis sélectionner Se connecter, EC2 Serial Console et Se connecter.

4.Lorsque la fenêtre du terminal du navigateur s'ouvre, appuyez sur Entrée. Si une invite de connexion s'affiche, entrez le nom d'utilisateur de l'utilisateur basé sur le mot de passe, puis appuyez sur Entrée.

Lorsque l'invite Mot de passe s'affiche, saisissez le mot de passe, puis appuyez sur Entrée.

Méthode 2 : Utiliser SSH

1.Envoyez votre clé publique SSH à l'instance pour démarrer une session de la console de série :

aws ec2-instance-connect send-serial-console-ssh-public-key \
    --instance-id i-0123456789EXAMPLE \
    --serial-port 0 \
    --ssh-public-key file://my_key.pub \
    --region us-east-1

Remarque : Dans l'exemple de commande précédent, veillez à ajouter le préfixe file:// au chemin de la clé publique SSH.

2.Utilisez votre clé privée pour vous connecter à la console de série :

ssh -i my_key i-0123456789EXAMPLE.port0@serial-console.ec2-instance-connect.us-east-1.aws

3.(Facultatif) Vérifiez l'empreinte digitale. Comparez l'empreinte qui apparaît lors de votre première connexion à la console de série avec l'empreinte digitale unique de l'EC2 Serial Console pour la région.

4.Si une invite s'affiche, entrez le nom d'utilisateur de l'utilisateur basé sur le mot de passe, puis appuyez sur Entrée.

5.À l'invite Mot de passe, entrez le mot de passe, puis appuyez sur Entrée.

Gestionnaire de session

Le Gestionnaire de session permet un accès sécurisé aux nœuds gérés sans ouvrir de ports entrants ni gérer de clé SSH. Vous pouvez utiliser les événements AWS CloudTrail pour auditer les sessions du Gestionnaire de session et contrôler les sessions à l'aide des politiques Gestion des identités et des accès AWS (IAM).

Limites :

  • Vous ne pouvez pas transférer de fichiers avec le Gestionnaire de session.
    Remarque : Utilisez plutôt un compartiment S3 et l'interface de la ligne de commande AWS (AWS CLI) pour échanger des données.
  • La journalisation n'est pas disponible pour les sessions du Gestionnaire de session qui se connectent via la redirection de port ou SSH. Cela est dû au fait que SSH chiffre toutes les données de session et que le Gestionnaire de session sert uniquement de tunnel pour les connexions SSH.
  • AWS Systems Manager n'est pas pris en charge pour tous les systèmes d'exploitation (OS). Pour plus d'informations, consultez la section Systèmes d'exploitation pris en charge.

Important : Assurez-vous de remplir tous les prérequis avant d'utiliser le Gestionnaire de session pour vous connecter à votre instance.

Il est recommandé de créer des points de terminaison d'un VPC à utiliser avec Systems Manager :

  1. Ouvrez la console Systems Manager.
  2. Choisissez Gestionnaire de session.
  3. Choisissez Démarrer la session.
  4. (Facultatif) Entrez une description de session dans le champ Motif de la session.
  5. Sélectionnez le nœud géré auquel vous souhaitez vous connecter, puis choisissez Démarrer la session pour lancer immédiatement la session.
    -ou-
    (Facultatif) Utilisez un document personnalisé pour configurer les paramètres de session, notamment la durée, le cryptage et la journalisation :
    Pour les Options de session, choisissez Suivant.
    Pour Document de session, sélectionnez le document que vous souhaitez exécuter au début de la session. Si votre document prend en charge les paramètres d'exécution, vous pouvez saisir une ou plusieurs valeurs séparées par des virgules dans chaque champ de paramètre.
    Sélectionnez Suivant.
    Choisissez Démarrer la session.

Utilisez la console EC2 pour vous connecter

  1. Ouvrez la console EC2.
  2. Choisissez Instances.
  3. Sélectionnez l'instance, puis Se connecter.
  4. Pour Méthode de connexion, choisissez Gestionnaire de session.
  5. Sélectionnez Se connecter.

Utiliser l'AWS CLI pour vous connecter

Remarque :

Exécutez la commande suivante :

aws ssm start-session --target instance-id

Utiliser SSH sur le gestionnaire de session pour vous connecter

Exigences :

  • Vous devez configurer vos instances gérées par cible pour prendre en charge les connexions SSH.
  • La version de l'agent AWS Systems Manager (agent AWS SSM) qui s'exécute doit être 2.3.672.0 ou ultérieure.
  • Vous avez accès au certificat Privacy Enhanced Mail (PEM) et pouvez utiliser le compte qui y est associé pour vous connecter. Par exemple, le compte utilisateur « ubuntu » pour les nœuds gérés par Ubuntu.

Pour démarrer une session via SSH, exécutez la commande suivante :

ssh -i /path/my-key-pair.pem username@instance-id,/code>

Amazon EC2 Instance Connect

EC2 Instance Connect permet un accès sécurisé à votre instance via SSH. EC2 Instance Connect propose plusieurs options pour vous connecter à votre instance sans partager vos clés SSH.

Limites :

  • La prise en charge des distributions Linux par EC2 Instance Connect est limitée.
  • Les paramètres AuthorizedKeysCommand et AuthorizedKeysCommandUser ne doivent pas avoir été configurés.
  • EC2 Instance Connect n'est pas prise en charge dans les zones locales.
  • Une adresse IPv4 publique est obligatoire pour vous connecter lorsque vous utilisez la console Amazon EC2.
  • EC2 Instance Connect ne prend pas en charge l'utilisation d'une adresse IPv6 pour la connexion.

Important : Assurez-vous de remplir tous les prérequis avant d'utiliser Amazon EC2 Instance Connect.

Utilisez la console Amazon EC2 pour vous connecter (uniquement pour les instances avec adresse IPv4 publique)

1.Ouvrez la console Amazon EC2.

2.Dans le volet de navigation, choisissez Instances.

3.Sélectionnez l'instance, puis choisissez Se connecter.

4.Choisissez EC2 Instance Connect.

5.Vérifiez le nom d'utilisateur, puis choisissez Se connecter pour ouvrir une fenêtre de terminal.

Utilisez votre propre clé et votre client SSH pour vous connecter

Remarque : Vous devez installer l'interface de la ligne de commande EC2 Instance Connect sur l'instance à laquelle vous vous connectez.

1.Exécutez la commande suivante pour générer de nouvelles clés privées et publiques SSH :

ssh-keygen -t rsa -f my_key

2.Envoyez votre clé publique SSH à l'instance :

Amazon Linux :

aws ec2-instance-connect send-ssh-public-key \
    --region us-west-2 \
    --instance-id i-0123456789Amzn \
    --instance-os-user ec2-user \
    --ssh-public-key file://my_key.pub

Ubuntu :

aws ec2-instance-connect send-ssh-public-key \
    --region us-west-2 \
    --instance-id i-0123456789Ubuntu \
    --instance-os-user ubuntu\
    --ssh-public-key file://my_key.pub

Remarque : Dans l'exemple de commande précédent, veillez à ajouter le préfixe file:// au chemin de la clé publique SSH.

3.Utilisez votre clé privée pour vous connecter à l'instance :

Amazon Linux :

ssh -o "IdentitiesOnly=yes" -i my_key ec2-user@instance-public-dns-name

Ubuntu :

ssh -o "IdentitiesOnly=yes" -i my_key ubuntu@instance-public-dns-name

Remarque : Le nom DNS public d'une instance Amazon EC2 standard ressemble à ec2-12-34-56-78.us-west-2.compute.amazonaws.com. Le nom comprend le domaine AWS, le service (calcul, dans cet exemple), la région et une forme d'adresse IP publique.

Utiliser l'interface de la ligne de commande de l'instance EC2 pour vous connecter

Amazon Linux :

$mssh i-0123456789Amzn

Ubuntu :

$mssh ubuntu@i-0123456789Ubuntu
AWS OFFICIEL
AWS OFFICIELA mis à jour il y a 10 mois