Tous les produits
Search
Centre de documentation

Elastic Compute Service:StartTerminalSession

Dernière mise à jour :Aug 18, 2026

Appelle StartTerminalSession pour créer une session basée sur la fonctionnalité de gestion des sessions. Vous pouvez établir une session WebSocket avec une instance ECS en spécifiant l'identifiant de l'instance. L'URL WebSocketUrl renvoyée par cette opération peut être utilisée pour établir une connexion à distance à l'instance ECS.

Description de l'opération

Description de l'opération

Lorsque vous personnalisez un client de connexion à distance à l'aide de code, vous pouvez appeler cette opération pour obtenir l'URL WebSocketUrl permettant d'établir une connexion à distance à une instance ECS. Prenez note des éléments suivants :

  • L'instance ECS spécifiée doit être à l'état Running.

  • Cloud Assistant Agent doit être installé sur l'instance ECS spécifiée. Vous pouvez appeler DescribeCloudAssistantStatus pour vérifier si Cloud Assistant Agent est installé sur l'instance ECS et interroger le numéro de version de Cloud Assistant Agent.
    • Si Cloud Assistant Agent n'est pas installé sur l'instance ECS, appelez InstallCloudAssistant pour l'installer.

    • Le numéro de version de Cloud Assistant Agent doit être postérieur aux versions suivantes pour prendre en charge la fonctionnalité de gestion des sessions. Pour mettre à niveau Cloud Assistant Agent, consultez Mettre à jour ou désactiver les mises à jour pour Cloud Assistant Agent.
      • Système d'exploitation Linux : 2.2.3.256

      • Système d'exploitation Windows : 2.1.3.256

  • Après l'appel de cette opération, l'URL WebSocketUrl est valide pendant 10 minutes.

  • Une fois qu'une session est établie, Cloud Assistant ferme la connexion si aucune donnée n'est transmise pendant 3 minutes.

  • Dans une même région, un maximum de 100 sessions peuvent être créées et actives. Un maximum de 20 sessions peuvent être à l'état connecté pour une seule instance ECS. La limite de bande passante pour une seule session est de 200 Ko/s.

  • La fonctionnalité de transfert de port prend uniquement en charge le transfert de port TCP. UDP n'est pas pris en charge.

  • Pour arrêter définitivement une session et invalider l'URL WebSocketUrl, appelez l'opération EndTerminalSession.

Testez maintenant

Testez cette API dans OpenAPI Explorer, sans signature manuelle. Les appels réussis génèrent automatiquement du code SDK correspondant à vos paramètres. Téléchargez-le avec une sécurité intégrée des identifiants pour une utilisation locale. Testez cette API dans OpenAPI Explorer, sans signature manuelle. Les appels réussis génèrent automatiquement du code SDK correspondant à vos paramètres. Téléchargez-le avec une sécurité intégrée des identifiants pour une utilisation locale.

Test

Autorisation RAM

Le tableau ci-dessous décrit les autorisations nécessaires pour appeler cette API. Vous pouvez les définir dans une politique Resource Access Management (RAM). Les colonnes du tableau sont détaillées ci-dessous :

  • Action : les actions peuvent être utilisées dans l'élément Action des instructions de politique de permissions RAM pour accorder les autorisations nécessaires à l'exécution de l'opération.

  • API : l'API que vous pouvez appeler pour exécuter l'action.

  • Niveau d'accès : le niveau d'accès prédéfini accordé pour chaque API. Valeurs valides : create, list, get, update et delete.

  • Type de ressource : le type de ressource qui prend en charge l'autorisation pour exécuter l'action. Il indique si l'action prend en charge les permissions au niveau de la ressource. La ressource spécifiée doit être compatible avec l'action. Sinon, la politique sera inefficace.

    • Pour les API avec permissions au niveau de la ressource, les types de ressource requis sont marqués d'un astérisque (*). Spécifiez l'Alibaba Cloud Resource Name (ARN) correspondant dans l'élément Resource de la politique.

    • Pour les API sans permissions au niveau de la ressource, la valeur All Resources est affichée. Utilisez un astérisque (*) dans l'élément Resource de la politique.

  • Clé de condition : les clés de condition définies par le service. La clé permet un contrôle granulaire, applicable aux actions seules ou aux actions associées à des ressources spécifiques. En plus des clés de condition propres au service, Alibaba Cloud fournit un ensemble de clés de condition communes applicables à tous les services pris en charge par RAM.

  • Action dépendante : les actions dépendantes requises pour exécuter l'action. Pour mener à bien l'opération, l'utilisateur RAM ou le rôle RAM doit disposer des permissions pour toutes les actions dépendantes.

ecs:StartTerminalSession

update

*Instance

acs:ecs:{#regionId}:{#accountId}:instance/{#instanceId}

  • ecs:SessionStartAs
Aucune

Paramètres de requête

Paramètre

Type

Requis

Description

Exemple

RegionId

string

Oui

L'identifiant de la région de l'instance. Vous pouvez appeler DescribeRegions pour interroger la liste des régions la plus récente.

cn-hangzhou

RegionId

string

Oui

L'identifiant de la région de l'instance. Vous pouvez appeler DescribeRegions pour interroger la liste des régions la plus récente.

cn-hangzhou

InstanceId

array

Oui

La liste des identifiants d'instances.

string

Non

L'identifiant de l'instance ECS spécifiée. N indique que vous pouvez spécifier plusieurs instances ECS à la fois. Un maximum de 1 instance ECS peut être spécifié. Valeurs valides de N : 1.

i-bp1eifrtpxa9tb****

PortNumber

integer

Non

Le numéro de port de l'instance ECS pour le transfert de données. Une fois ce paramètre spécifié, Cloud Assistant Agent transfère les données vers le port spécifié pour le transfert de port. Par exemple, SSH utilise le port 22.

Valeur par défaut : vide, ce qui indique qu'aucun numéro de port n'est spécifié pour le transfert de données.

22

CommandLine

string

Non

La commande à exécuter après le lancement de la session. La commande peut comporter jusqu'à 512 caractères.

Remarque

Après avoir spécifié CommandLine, vous ne pouvez pas spécifier PortNumber ou TargetServer.

ssh root@192.168.0.246

TargetServer

string

Non

L'adresse du serveur de destination dans le VPC auquel vous souhaitez accéder via l'instance.

Remarque

Si ce paramètre n'est pas vide, PortNumber spécifie le numéro de port du serveur de destination dans le VPC auquel vous souhaitez accéder via l'instance gérée.

192.168.0.246

Username

string

Non

Le nom d'utilisateur utilisé pour la connexion.

testUser

ConnectionType

string

Non

Le type de réseau de l'URL WebSocket requis pour la connexion à distance à l'instance. Valeurs valides :

  • Internet : Internet. Il s'agit de la valeur par défaut.

  • Intranet : le réseau interne.

Intranet

PasswordName

string

Non

Le nom du mot de passe de l'utilisateur lorsque vous utilisez Session Manager sur une instance Windows. Le nom peut comporter jusqu'à 255 caractères. Lorsque vous souhaitez utiliser Session Manager sur une instance Windows en tant qu'utilisateur non par défaut (System), spécifiez à la fois Username et ce paramètre. Pour réduire le risque de fuite de mot de passe, stockez le mot de passe en texte brut dans le référentiel de paramètres de la gestion des opérations et spécifiez uniquement le nom du mot de passe ici. Pour plus d'informations, consultez Paramètres de chiffrement.

axtSecretPassword

ClientToken

string

Non

Le jeton client utilisé pour garantir l'idempotence de la requête. Vous pouvez utiliser le client pour générer le jeton, mais assurez-vous que le jeton est unique parmi les différentes requêtes. La valeur de ClientToken ne peut contenir que des caractères ASCII et ne peut pas dépasser 64 caractères. Pour plus d'informations, consultez Comment garantir l'idempotence.

123e4567-e89b-12d3-a456-426655440000

EncryptionOptions

object

Non

La configuration de chiffrement de la session.

Enabled

boolean

Non

Indique si le chiffrement de bout en bout doit être activé pour la connexion de la session.

true

KMSKeyId

string

Non

L'identifiant de la clé KMS. Remarque :

  • Seules les clés symétriques KMS sont prises en charge.

  • Ce paramètre ne peut être spécifié que lorsque le mode de chiffrement est défini sur Kms.

xxx

Mode

string

Non

Le modèle de chiffrement de la clé secrète. Valeurs valides :

  • Auto : utilise une clé négociée automatiquement pour chiffrer la session.

  • Kms : utilise une clé KMS pour chiffrer la session.

  • Valeur par défaut : Auto.

Remarque :

  • Ce paramètre ne peut être spécifié que lorsque le chiffrement de la session est activé.

Auto

Éléments de réponse

Élément

Type

Description

Exemple

object

RequestId

string

L'identifiant de la requête.

EB5173B0-8E80-564E-AAD1-3135412*****

SessionId

string

L'identifiant de la session.

s-hz023od0x9****

SecurityToken

string

Le jeton de sécurité qui est ajouté à l'en-tête de la requête WebSocket pour la vérification de la requête par le système.

d86c2df2-d19c-4bd8-b817-a19ef123****

WebSocketUrl

string

L'URL de la session WebSocket pour la connexion à distance à l'instance ECS. L'URL contient l'identifiant de la session (SessionId) et le SecurityToken pour la vérification par le système.

wss://cn-hangzhou.axt.aliyuncs.com/session?sessionId=s-hz023od0x9****&token=d86c2df2-d19c-4bd8-b817-a19ef123****

Exemples

JSON format

{
  "RequestId": "EB5173B0-8E80-564E-AAD1-3135412*****",
  "SessionId": "s-hz023od0x9****",
  "SecurityToken": "d86c2df2-d19c-4bd8-b817-a19ef123****",
  "WebSocketUrl": "wss://cn-hangzhou.axt.aliyuncs.com/session?sessionId=s-hz023od0x9****&token=d86c2df2-d19c-4bd8-b817-a19ef123****"
}

Codes d'erreur

Code de statut HTTP

Code d'erreur

Message d'erreur

Description

400 RegionId.ApiNotSupported The api is not supported in this region. The API operation cannot be called in the specified region. Check whether the specified RegionId parameter is valid.
400 PortNumber.Invalid The port number is invalid.
400 InvalidParameter.ConnectionType The specified parameter ConnectionType is not valid. The specified parameter ConnectionType is illegal.
400 InvalidClientToken.Malformed The specified parameter clientToken is not valid. The specified ClientToken parameter does not meet the format requirements. The parameter must contain only ASCII characters and cannot exceed 64 characters in length.
500 InternalError.Dispatch An error occurred when you dispatched the request. An error occurred while the request is being sent. Try again later.
403 InstanceIds.ExceedLimit The number of instance IDs exceeds the upper limit. The number of specified instance IDs exceeds the upper limit.
403 SessionCount.ExceedLimit The number of sessions exceeds the upper limit. The number of sessions in the connected state exceeds the upper limit.
403 Operation.Forbidden The operation is not permitted. The operation is not supported.
403 PortForwarding.NotSupported Port forwarding is not supported currently. Port forwarding is not supported.
403 UserBehavior.SessionManagerDisabled The api is disabled by user behavior. The remote connection feature through session management is disabled for the user. Make sure that session management is enabled (in all regions) for remote management.
403 InvalidCommandLine.Conflict The parameter PortNumber or TargetServer cannot be specified with parameter CommandLine. The CommandLine parameter cannot be specified together with the PortNumber or TargetServer parameter.
403 InvalidTargetServer.MissingPortNumber The parameter PortNumber must be specified with parameter TargetServer. The PortNumber parameter must be specified when the TargetServer parameter is used.
403 InvalidCommandLine.LengthLimitExceeded The length of the parameter CommandLine exceeded the limit of 512 characters. The length of the CommandLine parameter exceeds the limit of 512 characters.
403 InvalidInstanceIds.CountLimitExceeded The count of Instances exceeded the maximum limit of 1 when TargetServer or CommandLine parameter was specified. When the TargetServer or CommandLine parameter is used, the number of instances exceeds the maximum limit. The number of instances is limited to 1.
403 Username.ExceedLimit The length of the username exceeds the upper limit. The length of the username exceeds the upper limit.
403 InvalidOperation.SecurityGroupRuleDenied The operation is not allowed by the security group inbound rules of the specified instance. The inbound rules of the security group associated with the specified instance do not allow this operation.
403 InvalidTargetServer.LengthLimitExceeded The length of the parameter TargetServer exceeded the limit of 128 characters. The length of the TargetServer parameter exceeds the limit of 128 characters.
403 InvalidOperation.ConnectionTypeUnsupported The operation is not supported for the parameter ConnectionType. The specified ConnectionType parameter does not support this operation.
403 InvalidPasswordName.LengthLimitExceeded The length of the parameter PasswordName exceeds the limit of 255 characters.
403 InvalidEncryptionOptionsMode.EncryptionDisabled EncryptionOptions.Mode cannot be specified when encryption is disabled. The parameter EncryptionOptions.Mode cannot be specified when session encryption is not on.
403 InvalidParameter.EncryptionOptionsKMSKeyId The specified parameter EncryptionOptions.KMSKeyId is not valid. The specified parameter EncryptionOptions.KMSKeyId is illegal.
403 InvalidParameter.EncryptionOptionsMode The specified parameter EncryptionOptions.Mode is not valid. The specified parameter EncryptionOptions.Mode is illegal.
403 MissingParameter.EncryptionOptionsKMSKeyId The input parameter EncryptionOptions.KMSKeyId that is mandatory for processing this request is not supplied. Parameter EncryptionOptions.KMSKeyId cannot be empty.
403 UnsupportedAgentVersion.Encryption The cloud assistant agent version on instance %s do not support encryption.
403 InvalidEncryptionOptions.Conflict The parameter PortNumber or TargetServer cannot be specified with parameter EncryptionOptions. When session encryption is enabled, the parameter PortNumber or TargetServer cannot be specified.
403 IdempotentParameterMismatch The specified parameter has changed while using an already used clientToken. The specified client token has already been used.
403 IdempotentProcessing The previous idempotent request(s) is still processing. A previous idempotent request is being processed. Try again later.
404 InvalidRegionId.NotFound The RegionId provided does not exist in our records. Region information error
404 InvalidInstance.NotFound The specified instances not found. The specified instance ID does not exist.

Consultez Codes d'erreur pour la liste complète.

Notes de version

Consultez Notes de version pour la liste complète.