Connectez-vous aux instances ECS sans mot de passe ni adresse IP publique, une alternative sécurisée à SSH et RDP.
Qu'est-ce que Session Manager CLI ?
Session Manager CLI (ali-instance-cli) est un outil d'interface de ligne de commande (CLI) d'Alibaba Cloud qui permet de se connecter aux instances ECS via Session Manager.
Vous pouvez également utiliser ali-instance-cli avec Alibaba Cloud CLI pour les opérations en ligne de commande.
Prérequis
Activer le service Session Manager
Vérifier si l'instance est à l'état Running
Vérifier si **Cloud Assistant Agent** est installé
Préparer les identifiants d'un utilisateur RAM pour Session Manager
1. Installer et configurer Session Manager CLI
Ignorez cette étape si vous avez déjà installé et configuré Session Manager CLI.
1,1 Installation
Installez Session Manager CLI (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. Consultez Préparer les identifiants d'un utilisateur RAM pour Session Manager.
Windows
Cliquez sur , saisissez cmd, puis appuyez sur la touche
Enterpour ouvrir une fenêtre d'invite de commandes.-
Accédez au répertoire de ali-instance-cli.exe. Cet exemple utilise
C:\Users\test.cd C:\Users\test -
Configurez les identifiants en utilisant l'une des méthodes suivantes :
AccessKey
Configurez l'AccessKey ID, le AccessKey secret et l'Region ID selon les instructions :
ali-instance-cli.exe configure --mode AKJeton 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 region ID, AccessKey ID, AccessKey secret et
STS tokenréels.CredentialsURI
Saisissez l'Credentials URI et l'Region ID selon les instructions :
ali-instance-cli.exe configure --mode=CredentialsURILa sortie suivante indique une configuration réussie.

macOS/Linux
-
Accédez au répertoire de ali-instance-cli. Cet exemple utilise le répertoire personnel
~.cd ~ -
Configurez les identifiants :
AccessKey
Configurez l'AccessKey ID, l'AccessKey secret et l'Region ID selon les instructions :
./ali-instance-cli configure --mode AKJeton 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 region ID, AccessKey ID, AccessKey secret et
STS tokenréels.CredentialsURI
Configurez l'Credentials URI et l'Region ID selon les instructions :
./ali-instance-cli configure --mode=CredentialsURILa sortie suivante indique une configuration réussie.

2. Se connecter à une instance à l'aide de Session Manager
2.1 Obtenir l'ID de l'instance
Obtenez l'ID de l'instance avant de vous connecter avec Session Manager.
Console
|
|
Alibaba Cloud CLI
Si vous avez configuré Alibaba Cloud CLI, exécutez la commande suivante pour obtenir l'ID de l'instance. Pour plus de détails sur les paramètres, consultez DescribeInstances.
Cette rubrique utilise une instance nommée SessionManager-example dans la région Chine (Hangzhou) à titre d'exemple.
aliyun ecs DescribeInstances --region cn-hangzhou --RegionId 'cn-hangzhou' --InstanceName 'SessionManager-example'
La valeur InstanceId dans la réponse correspond à l'ID de l'instance.

API
Consultez DescribeInstances.
2,2 Utiliser la fonctionnalité Session Manager de ali-instance-cli
Machine locale : Windows
Dans l'invite de commandes, accédez au répertoire de ali-instance-cli.exe et connectez-vous à l'instance. Remplacez <instance_id> par l'ID de l'instance obtenu à l'étape 2.1.
ali-instance-cli.exe session --instance <instance_id>
Exemple : connexion à une instance dont l'ID est i-bp1****** :
ali-instance-cli.exe session --instance i-bp1******
Après une connexion réussie, vous pouvez accéder à l'interface en ligne de commande de l'instance.

macOS/Linux
Dans le terminal, accédez au répertoire de ali-instance-cli et connectez-vous à l'instance. Remplacez <instance_id> par l'ID de l'instance obtenu à l'étape 2.1.
./ali-instance-cli session --instance <instance_id>
Exemple : connexion à une instance dont l'ID est i-bp1****** :
./ali-instance-cli session --instance i-bp1******
La sortie suivante indique une connexion réussie. Vous pouvez désormais accéder à l'interface en ligne de commande de l'instance.

Autres fonctionnalités
Session Manager CLI (ali-instance-cli) prend également en charge les fonctionnalités suivantes :
-
Accéder aux instances sans adresse IP publique (redirection de port)
Mappez un port d'instance sur un port local pour accéder aux services sur des instances sans adresse IP publique, en contournant les proxys ou les serveurs de rebond.
-
Enregistrer des clés publiques SSH temporaires
Enregistrez une clé publique temporaire sur l'instance cible et utilisez la clé privée correspondante pour les connexions SSH.
FAQ
La ligne de commande ne répond pas après l'exécution d'une commande (l'instance n'est pas à l'état Running)
Si la ligne 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, consultez Vérifier si l'instance est à l'état Running dans cette rubrique.
La ligne de commande ne répond pas après l'exécution d'une commande (problème de configuration du groupe de sécurité)
Si la ligne 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. Il vous suffit d'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, consultez la section How Session Manager works de cette rubrique.
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é, consultez Basic and advanced security groups.
Pour savoir comment ajouter des règles à un groupe de sécurité, consultez Add a security group rule.
|
Action |
Priority |
Protocol type |
Port range |
Authorization object |
Description |
|
Allow |
1 |
Custom TCP |
443 |
|
Ce port est utilisé pour accéder au serveur Cloud Assistant. |
|
Allow |
1 |
Custom TCP |
443 |
|
Ce port est utilisé pour accéder au serveur sur lequel le package d'installation de Cloud Assistant Agent est stocké lorsque vous souhaitez installer ou mettre à jour Cloud Assistant Agent. |
|
Allow |
1 |
Custom UDP |
53 |
|
Ce port est utilisé pour résoudre les 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 ne soit pas disponible. Vérifiez si Cloud Assistant Agent est installé sur l'instance.


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 : connexion avec un délai d'inactivité de 10 minutes :
./ali-instance-cli session --instance instance-id --idle-timeout 600
Cette fonctionnalité nécessite la version suivante de ali-instance-cli :
Linux :
1.2.0.48Windows :
1.1.0.48macOS :
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 Session Manager CLI : 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
-


