Tous les produits
Search
Centre de documentation

Elastic Compute Service:Se connecter à une instance avec une paire de clés temporaire à l'aide de la CLI Session Manager

Dernière mise à jour :Aug 18, 2026

Enregistrez une clé publique temporaire valide pendant 60 secondes à l'aide d'ali-instance-cli et connectez-vous à une instance ECS avec la clé privée correspondante plutôt qu'avec un mot de passe.

Clés publiques temporaires

Les clés publiques temporaires permettent de se connecter aux instances via SSH sans configurer de paires de clés sur ces dernières. À chaque connexion, enregistrez une clé publique temporaire valide pendant 60 secondes, puis utilisez la clé privée correspondante au lieu d'un mot de passe.

Remarque

Les clés publiques temporaires sont stockées sur le serveur Cloud Assistant.

Prérequis

Activer le service Session Manager

Activez le service Session Manager pour votre compte Alibaba Cloud dans la console :

  1. Accédez à Console ECS - Instances.

  2. Dans la barre de navigation supérieure, sélectionnez la région et le groupe de ressources de l'instance.

  3. Sur la page Instance, repérez l'instance cible et cliquez sur Connect dans la colonne Actions.

  4. Cliquez sur Show Other Logon Methods. Repérez Session Manager. Activez l'interrupteur situé à côté de Session Management closed. Suivez ensuite les instructions affichées à l'écran pour activer le service.

    image

    image

Vérifier si l'instance est à l'état Running

Session Manager nécessite que l'instance soit à l'état Running.

Console

Consultez l'état de l'instance sur la page Instance de la console ECS.

Voir Afficher les informations sur l'instance .

Dans le volet de navigation de gauche, choisissez Instances & Images > Instances.

Dans la liste des instances, vérifiez que l'état de SessionManager-example est Running.

Alibaba Cloud CLI

Si vous avez configuré Alibaba Cloud CLI, exécutez la commande suivante pour interroger l'état de l'instance. Pour plus de détails sur les paramètres, voir DescribeInstanceStatus.

Cette rubrique utilise à titre d'exemple une instance dont l'ID est i-bp1****** dans la région Chine (Hangzhou).
aliyun ecs DescribeInstanceStatus --region cn-hangzhou --RegionId 'cn-hangzhou' --InstanceId.1 'i-bp1******'

Si Status est défini sur Running, l'instance est en cours d'exécution.

{
  "TotalCount": 1,
  "RequestId": "A413****-****-****-****-****611B",
  "PageSize": 1,
  "PageNumber": 1,
  "InstanceStatuses": {
    "InstanceStatus": [
      {
        "Status": "Running",
        "InstanceId": "i-bp1******"
      }
    ]
  }
}

Vous pouvez également utiliser DescribeInstances pour interroger l'état de l'instance.

API

Voir DescribeInstanceStatus ou DescribeInstances.

Vérifier si **Cloud Assistant Agent** est installé

Session Manager nécessite Cloud Assistant. Utilisez l'une des méthodes suivantes pour vérifier si Cloud Assistant Agent est installé sur l'instance.

Les instances ECS créées à partir d'images publiques officielles après le 1er décembre 2017 ont Cloud Assistant Agent préinstallé. Pour les instances créées avant cette date ou à partir d'images personnalisées importées, installez Cloud Assistant Agent manuellement.

Console

Session Manager s'appuie sur Cloud Assistant. Installez Cloud Assistant Agent sur l'instance et vérifiez son état sur la page Cloud Assistant de la console ECS.

Cloud Assistant Agent est préinstallé sur les instances ECS créées à partir d'images publiques Alibaba Cloud après le 1er décembre 2017. Pour les instances antérieures, installez manuellement Cloud Assistant Agent. Voir Installer Cloud Assistant Agent.

Dans le volet de navigation de gauche de la console ECS, sous O&M, cliquez sur Cloud Assistant.

Vérifiez que la colonne Cloud Assistant Status de l'instance cible affiche Normal.

Voir Vérifier l'état de Cloud Assistant et résoudre les problèmes.

Alibaba Cloud CLI

Si vous avez configuré Alibaba Cloud CLI, exécutez la commande suivante pour vérifier l'installation de Cloud Assistant Agent et la prise en charge de Session Manager. Pour plus de détails sur les paramètres, voir DescribeCloudAssistantStatus.

Cette rubrique utilise à titre d'exemple une instance dont l'ID est i-bp1****** dans la région Chine (Hangzhou).
aliyun ecs DescribeCloudAssistantStatus --region cn-hangzhou --RegionId 'cn-hangzhou' --InstanceId.1 'i-bp1******'

Si CloudAssistantStatus est défini sur true et si SupportSessionManager est défini sur true, l'instance prend en charge les connexions Session Manager.

{
  "TotalCount": 1,
  "PageSize": 1,
  "RequestId": "DB34****-****-****-****-****A749",
  "NextToken": "",
  "PageNumber": 1,
  "InstanceCloudAssistantStatusSet": {
    "InstanceCloudAssistantStatus": [
      {
        "CloudAssistantVersion": "2.2.3.857",
        "SupportSessionManager": true,
        "InstanceId": "i-bp1******",
        "InvocationCount": 4,
        "OSType": "Linux",
        "CloudAssistantStatus": "true",
        "LastHeartbeatTime": "2024-12-10T02:38:04Z",
        "LastInvokedTime": "2024-12-08T16:02:45Z",
        "ActiveTaskCount": 0
      }
    ]
  }
}

API

Voir DescribeCloudAssistantStatus.

Préparer les identifiants d'un utilisateur RAM pour Session Manager

Lorsque vous utilisez ali-instance-cli, vous devez spécifier la paire AccessKey et le jeton Security Token Service (STS) de l'utilisateur RAM. Lorsque vous vous connectez à une instance via Session Manager, le système vérifie si l'utilisateur RAM disposant des identifiants possède également l'autorisation ecs:StartTerminalSession.

Lorsque vous configurez une stratégie personnalisée, vous pouvez définir le paramètre Resource pour spécifier les instances ECS auxquelles un utilisateur RAM peut se connecter via Session Manager. Exemple de stratégie :

{
  "Version": "1",
  "Statement": [
    {
      "Effect": "Allow",
      "Action": "ecs:StartTerminalSession",
      "Resource": "*"
    }
  ]
}

Pour plus d'informations sur les paramètres CredentialsURI et STS Token, voir Créer une paire AccessKey et Qu'est-ce que Security Token Service (STS) ?

Pour savoir comment accorder des autorisations à un utilisateur RAM, voir Gérer les autorisations des utilisateurs RAM.

1. Installer et configurer la CLI Session Manager

Remarque

Ignorez cette étape si vous avez déjà installé et configuré la CLI Session Manager.

1,1 Installation

Installez la CLI Session Manager (ali-instance-cli) sur votre ordinateur. La méthode d'installation varie selon le système d'exploitation.

Windows

Cliquez ici pour télécharger ali-instance-cli pour Windows et enregistrez-le dans un dossier local.

Cette rubrique utilise le dossier C:\Users\test à titre d'exemple.

macOS

Dans le terminal macOS, téléchargez ali-instance-cli pour macOS :

curl -O https://aliyun-client-assist.oss-accelerate.aliyuncs.com/session-manager/mac/ali-instance-cli

Accordez les autorisations d'exécution :

chmod a+x ali-instance-cli

Linux

Installez ali-instance-cli pour Linux :

Architecture x86

curl -O https://aliyun-client-assist.oss-accelerate.aliyuncs.com/session-manager/linux/ali-instance-cli

Architecture ARM

curl -O https://aliyun-client-assist.oss-cn-beijing.aliyuncs.com/session-manager/linux_arm/ali-instance-cli

Accordez les autorisations d'exécution :

chmod a+x ali-instance-cli

1,2 Configuration

Pour vous connecter à une instance ECS avec ali-instance-cli, configurez les identifiants tels qu'une AccessKey. Voir Préparer les identifiants d'un utilisateur RAM pour Session Manager.

Windows

  1. Cliquez sur Start > Run, saisissez cmd, puis appuyez sur la touche Enter pour ouvrir une fenêtre d'invite de commandes.

  2. Accédez au répertoire de ali-instance-cli.exe. Cet exemple utilise C:\Users\test.

    cd C:\Users\test
  3. Configurez les identifiants à l'aide de l'une des méthodes suivantes :

    AccessKey

    Configurez l'AccessKey ID, la AccessKey secret et l'Region ID comme indiqué :

    ali-instance-cli.exe configure --mode AK

    Jeton STS

    Terminez la configuration :

    ali-instance-cli.exe configure set --mode StsToken --region "<region>" --access-key-id "<ak>"  --access-key-secret "<sk>"   --sts-token "<sts_token>"

    Remplacez <region>, <ak>, <sk> et <sts_token> par votre ID de région, votre AccessKey ID, votre AccessKey secret et votre jeton STS réels.

    CredentialsURI

    Saisissez l'URI des identifiants et l'ID de région comme indiqué :

    ali-instance-cli.exe configure --mode=CredentialsURI

    La sortie suivante indique que la configuration a réussi.

    image

macOS/Linux

  1. Accédez au répertoire de ali-instance-cli. Cet exemple utilise le répertoire personnel ~.

    cd ~
  2. Configurez les identifiants :

    AccessKey

    Configurez l'AccessKey ID, l'AccessKey secret et l'Region ID comme indiqué :

    ./ali-instance-cli configure --mode AK

    Jeton STS

    Terminez la configuration :

    ./ali-instance-cli configure set --mode StsToken --region "<region>" --access-key-id "<ak>"  --access-key-secret "<sk>"   --sts-token "<sts_token>"

    Remplacez <region>, <ak>, <sk> et <sts_token> par votre ID de région, votre AccessKey ID, votre AccessKey secret et votre jeton STS réels.

    CredentialsURI

    Configurez l'URI des identifiants et l'ID de région comme indiqué :

    ./ali-instance-cli configure --mode=CredentialsURI

    La sortie suivante indique que la configuration a réussi.

    image

2. Enregistrer une clé publique temporaire sur l'instance

2.1 Obtenir l'ID de l'instance

Obtenez l'ID de l'instance cible.

Utiliser la console ECS

  1. Accédez à Console ECS - Instances.

  2. Dans la barre de navigation supérieure, sélectionnez la région et le groupe de ressources de la ressource que vous souhaitez gérer.

  3. Sur la page Instance, repérez l'instance à laquelle vous souhaitez vous connecter et cliquez sur son ID.

image

Utiliser Alibaba Cloud CLI

Si vous avez configuré Alibaba Cloud CLI, exécutez une commande pour appeler l'opération DescribeInstances afin d'interroger l'ID de l'instance à laquelle vous souhaitez vous connecter. Pour plus d'informations sur les paramètres de l'opération DescribeInstances, voir DescribeInstances.

Par exemple, exécutez la commande suivante pour interroger l'ID d'une instance nommée SessionManager-example qui réside dans la région Chine (Hangzhou) :
aliyun ecs DescribeInstances --region cn-hangzhou --RegionId 'cn-hangzhou' --InstanceName 'SessionManager-example'

La valeur du paramètre InstanceId dans la sortie de la commande correspond à l'ID de l'instance.

image

Appeler les opérations API

Appelez l'opération DescribeInstances pour interroger l'ID de l'instance à laquelle vous souhaitez vous connecter. Pour plus d'informations, voir DescribeInstances.

2,2 Générer une paire de clés

Générez une paire de clés sur votre ordinateur. Le fichier de clé publique sera utilisé comme clé publique temporaire à l'étape 2,3.

Ordinateur Windows

Ouvrez Command Prompt et exécutez la commande suivante pour générer une paire de clés.

Dans cet exemple, le client OpenSSH est utilisé pour générer une paire de clés dans le répertoire C:\Users\test .
ssh-keygen -t rsa -b 2048 -f id_rsa
  • -t rsa : type de clé Rivest-Shamir-Adleman (RSA).

  • -b 2048 : longueur de clé de 2 048 bits.

  • -f id_rsa : génère les fichiers de clés nommés id_rsa dans le répertoire de travail.

Important

Une phrase secrète vous est demandée. Si elle est définie, elle sera requise à chaque utilisation de la clé privée.

Appuyez sur Entrée pour ignorer si vous n'avez pas besoin de phrase secrète.

Le fichier de clé publique id_rsa.pub et le fichier de clé privée id_rsa sont générés dans le répertoire de travail. Dans cet exemple, le répertoire de travail est C:\Users\test.

Ordinateur macOS ou Linux

Ouvrez Terminal et exécutez la commande suivante pour générer une paire de clés.

Dans cet exemple, le client OpenSSH est utilisé pour générer une paire de clés.
ssh-keygen -t rsa -b 2048 -f id_rsa
  • -t rsa : type de clé RSA.

  • -b 2048 : longueur de clé de 2 048 bits.

  • -f id_rsa : génère les fichiers de clés nommés id_rsa dans le répertoire de travail.

Important

Une phrase secrète vous est demandée. Si elle est définie, elle sera requise à chaque utilisation de la clé privée.

Appuyez sur Entrée pour ignorer si vous n'avez pas besoin de phrase secrète.

Le fichier de clé publique id_rsa.pub et le fichier de clé privée id_rsa sont générés dans le répertoire de travail.

2,3 Envoyer la clé publique en tant que clé publique temporaire à l'instance

Ordinateur Windows

Ouvrez Command Prompt, accédez au répertoire de ali-instance-cli.exe et exécutez la commande suivante pour enregistrer la clé publique temporaire sur une instance.

Remplacez <instance_id> par l'ID de l'instance, <public_key_path> par le chemin du fichier de clé publique généré à l'étape 2,2 , et <ecs_username> par le nom d'utilisateur auquel attribuer la clé publique temporaire :
ali-instance-cli.exe send_public_key --instance <instance_id> --public-key <public_key_path> --user-name <ecs_username>

Exemple : enregistrez la clé publique située à l'emplacement C:\Users\test\id_rsa.pub sur l'instance i-bp1****** et attribuez-la à l'utilisateur ecs-user :

ali-instance-cli.exe send_public_key --instance i-bp1****** --public-key C:\Users\test\id_rsa.pub --user-name ecs-user
Important

Une fois la commande exécutée avec succès, connectez-vous à l'instance avec la clé privée correspondante dans un délai de 60 secondes.

Ordinateur macOS ou Linux

Ouvrez Terminal, accédez au répertoire de ali-instance-cli et exécutez la commande suivante pour enregistrer la clé publique temporaire sur une instance.

Remplacez <instance_id> par l'ID de l'instance, <public_key_path> par le chemin du fichier de clé publique généré à l'étape 2,2 , et <ecs_username> par le nom d'utilisateur auquel attribuer la clé publique temporaire :
./ali-instance-cli send_public_key --instance <instance_id> --public-key <public_key_path> --user-name <ecs_username>

Exemple : enregistrez la clé publique située à l'emplacement ~/id_rsa.pub sur l'instance i-bp1****** et attribuez-la à l'utilisateur ecs-user :

./ali-instance-cli send_public_key --instance i-bp1****** --public-key ~/id_rsa.pub --user-name ecs-user
Important
  • Une fois la commande exécutée avec succès, connectez-vous à l'instance avec la clé privée correspondante dans un délai de 60 secondes.

Après avoir exécuté la commande, le message d'erreur ERROR: 'install config_ecs_instance_connect' command failed s'affiche

Si cette erreur s'affiche, l'installation du plug-in Cloud Assistant config_ecs_instance_connect a échoué. Réexécutez la commande. Si l'erreur persiste, installez le plug-in manuellement :

Utiliser la console ECS

Utilisez Cloud Assistant pour envoyer la commande suivante à l'instance afin d'installer et de démarrer le plug-in config_ecs_instance_connect.

Voir Créer et exécuter des commandes.

acs-plugin-manager -e -P config_ecs_instance_connect --params --install

Utiliser la CLI

Remarque

Dans cet exemple, i-bp15vhvt43ciprqkxxxx est utilisé comme ID d'instance. Remplacez-le par votre ID d'instance réel.

aliyun ecs RunCommand --RegionId 'cn-hangzhou' \
 --Type 'RunShellScript' \
 --CommandContent 'acs-plugin-manager -e -P config_ecs_instance_connect --params --install' \
 --InstanceId.1 'i-bp15vhvt43ciprqkxxxx'    

3. Se connecter à l'instance via SSH

Important

Si vous recevez un message indiquant que le mot de passe ou la clé publique est incorrect, il se peut que la clé publique ait expiré. Une clé publique temporaire est valide pendant 60 secondes.

Ouvrez Command Prompt ou Terminal et exécutez la commande suivante pour vous connecter à l'instance.

Remplacez <private_key_path> par le chemin du fichier de clé privée généré à l'étape 2,2 , <ecs-username> par le nom d'utilisateur spécifié à l'étape 2,3 , et <ecs_ip> par l'adresse IP publique de l'instance.
ssh -i <private_key_path> <ecs-username>@<ecs_ip>

Exemple : connectez-vous à l'instance 223...187 en tant qu'ecs-user avec la clé privée ~/id_rsa :

ssh -i ~/id_rsa ecs-user@223.***.***.187

Vous pouvez également utiliser la fonctionnalité de redirection de port d'ali-instance-cli pour vous connecter à une instance sans adresse IP publique. Voir Utiliser la fonctionnalité de redirection de port de la CLI Session Manager pour se connecter à une instance sans adresse IP publique.

FAQ

L'invite de commande ne répond pas après l'exécution d'une commande (l'instance n'est pas à l'état Running)

Si l'invite de commande ne répond pas après l'exécution d'une commande ali-instance-cli, il se peut que l'instance ne soit pas à l'état Running. Pour afficher l'état de l'instance, voir Vérifier si l'instance est à l'état Running dans cette rubrique.

L'invite de commande ne répond pas après l'exécution d'une commande (problème de configuration du groupe de sécurité)

Si l'invite de commande ne répond pas après l'exécution d'une commande ali-instance-cli, il se peut que les ports sortants requis ne soient pas ouverts dans le groupe de sécurité. Par défaut, les groupes de sécurité de base autorisent tout le trafic sortant. Ce problème peut survenir si vous modifiez les règles sortantes ou si vous utilisez un groupe de sécurité avancé.

Lorsque vous utilisez Session Manager pour vous connecter à une instance ECS, assurez-vous que Cloud Assistant Agent exécuté sur l'instance ECS est connecté au serveur Cloud Assistant en ajoutant les règles suivantes à un groupe de sécurité sortant :

Contrairement aux méthodes de connexion telles que SSH et Remote Desktop Protocol (RDP), Cloud Assistant Agent établit activement une connexion WebSocket avec le serveur Session Manager. Vous devez uniquement ouvrir le port sortant WebSocket du serveur Cloud Assistant dans une règle de sécurité. Pour plus d'informations sur le fonctionnement de Session Manager, voir la section Fonctionnement de Session Manager de cette rubrique.
Important
  • Si vous utilisez des groupes de sécurité de base, y compris le groupe de sécurité par défaut, tout le trafic sortant est autorisé. Aucune configuration supplémentaire n'est requise.

  • Si vous utilisez un groupe de sécurité avancé, tout le trafic sortant est refusé. Vous devez configurer les règles pertinentes. Le tableau suivant décrit ces règles. Pour plus d'informations sur les groupes de sécurité, voir Groupes de sécurité de base et avancés.

Pour savoir comment ajouter des règles à un groupe de sécurité, voir Ajouter une règle de groupe de sécurité.

Action

Priorité

Type de protocole

Plage de ports

Objet d'autorisation

Description

Allow

1

Custom TCP

443

100.100.0.0/16

Ce port est utilisé pour accéder au serveur Cloud Assistant.

Allow

1

Custom TCP

443

100.0.0.0/8

Ce port est utilisé pour accéder au serveur sur lequel le package d'installation de Cloud Assistant Agent est stocké lors de l'installation ou de la mise à jour de Cloud Assistant Agent.

Allow

1

Custom UDP

53

0.0.0.0/0

Ce port est utilisé pour la résolution des noms de domaine.

Si vous souhaitez vous connecter à une instance uniquement via Session Manager, supprimez les règles entrantes qui autorisent le port SSH (par défaut 22) et le port RDP (par défaut 3389) d'un groupe de sécurité afin d'améliorer la sécurité de l'instance ECS.

L'erreur DeliveryTimeout est signalée après l'exécution d'une commande (Cloud Assistant Agent est hors ligne)

Si l'erreur DeliveryTimeout se produit lors de l'exécution d'une commande ali-instance-cli, il se peut que Cloud Assistant Agent soit indisponible. Vérifiez si Cloud Assistant Agent est installé sur l'instance.

image

image

L'erreur "session manager is disabled, please enable first" est signalée après l'exécution d'une commande

Si l'erreur session manager is disabled, please enable first se produit après l'exécution d'une commande ali-instance-cli, activez Session Manager dans la console.

La connexion est automatiquement fermée en raison d'une longue période d'inactivité

Les connexions Session Manager se ferment après un délai d'inactivité. La valeur par défaut est de 3 minutes. Utilisez le paramètre --idle-timeout pour définir un délai d'inactivité personnalisé en secondes.

Exemple : se connecter avec un délai d'inactivité de 10 minutes :

./ali-instance-cli session --instance instance-id --idle-timeout 600
Remarque

Cette fonctionnalité nécessite les versions suivantes de ali-instance-cli :

  • Linux : 1.2.0.48

  • Windows : 1.1.0.48

  • macOS : 1.3.0.48

Comment analyser les journaux de ali-instance-cli

Analysez les journaux de ali-instance-cli pour identifier les problèmes.

  • Journaux de la CLI Session Manager : lorsque vous utilisez ali-instance-cli, un dossier de journaux (par exemple ~/log/aliyun_ecs_session_log.2022XXXX) est généré dans le répertoire de l'outil.

  • Journaux de Cloud Assistant Agent :

    • Linux

      /usr/local/share/aliyun-assist/<Cloud Assistant Agent version>/log/
    • Windows

      C:\ProgramData\aliyun\assist\<Cloud Assistant Agent version>\log