Todos los productos
Search
Centro de documentos

Elastic Compute Service:Connect to an instance with Session Manager CLI (ali-instance-cli)

Última actualización: Sep 23, 2026

Conéctese a instancias de ECS sin contraseñas ni direcciones IP públicas. Esta es una alternativa segura a SSH y RDP.

¿Qué es Session Manager CLI?

Session Manager CLI (ali-instance-cli) es una herramienta de CLI de Alibaba Cloud que se conecta a instancias de ECS a través de Session Manager.

También puede usar ali-instance-cli con Alibaba Cloud CLI para operaciones en la línea de comandos.

Requisitos previos

Habilitar el servicio Session Manager

Habilite el servicio Session Manager para su cuenta de Alibaba Cloud en la consola:

  1. Vaya a Consola de ECS - Instances.

  2. En la barra de navegación superior, seleccione la región y el resource group de la instancia.

  3. En la página Instance, busque la instancia de destino y haga clic en Connect en la columna Actions.

  4. Haga clic en Show Other Logon Methods. Busque Session Manager. Active el interruptor junto a Session Management closed. A continuación, siga las instrucciones en pantalla para habilitar el servicio.

    image

    image

Comprobar si la instancia está en estado Running

Session Manager requiere que la instancia esté en estado Running.

Consola

Consulte el estado de la instancia en la página Instance de la consola de ECS.

Consulte View instance information .

En el panel de navegación izquierdo, elija Instances & Images > Instances.

En la lista de instancias, confirme que el estado de SessionManager-example sea Running.

Alibaba Cloud CLI

Si ya configuró Alibaba Cloud CLI, ejecute el siguiente comando para consultar el estado de la instancia. Para obtener detalles sobre los parámetros, consulte DescribeInstanceStatus.

Este tema usa como ejemplo una instancia con el ID i-bp1****** en la región China (Hangzhou).
aliyun ecs DescribeInstanceStatus --region cn-hangzhou --RegionId 'cn-hangzhou' --InstanceId.1 'i-bp1******'

Si Status es Running, la instancia se está ejecutando.

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

También puede usar DescribeInstances para consultar el estado de la instancia.

API

Consulte DescribeInstanceStatus o DescribeInstances.

Comprobar si **Cloud Assistant Agent** está instalado

Session Manager requiere Cloud Assistant. Utilice uno de los siguientes métodos para comprobar si Cloud Assistant Agent está instalado en la instancia.

Las instancias de ECS creadas a partir de imágenes públicas oficiales después del 1 de diciembre de 2017 tienen Cloud Assistant Agent preinstalado . En el caso de instancias creadas antes de esa fecha o a partir de imágenes personalizadas subidas, install Cloud Assistant Agent manualmente.

Consola

Session Manager depende de Cloud Assistant. Instale Cloud Assistant Agent en la instancia y compruebe su estado en la página de Cloud Assistant de ECS dentro de la consola de ECS.

Cloud Assistant Agent viene preinstalado en las instancias de ECS creadas a partir de imágenes públicas de Alibaba Cloud después del 1 de diciembre de 2017. Para instancias anteriores, instale manualmente Cloud Assistant Agent . Consulte Install the Cloud Assistant Agent .

En el panel de navegación izquierdo de la consola de ECS, dentro de O&M, haga clic en Cloud Assistant.

Confirme que la columna Cloud Assistant Status de la instancia de destino muestre Normal.

Consulte Check Cloud Assistant status and troubleshoot exceptions.

Alibaba Cloud CLI

Si ya configuró Alibaba Cloud CLI, ejecute el siguiente comando para comprobar la instalación de Cloud Assistant Agent y la compatibilidad con Session Manager. Para obtener detalles sobre los parámetros, consulte DescribeCloudAssistantStatus.

Este tema usa como ejemplo una instancia con el ID i-bp1****** en la región China (Hangzhou).
aliyun ecs DescribeCloudAssistantStatus --region cn-hangzhou --RegionId 'cn-hangzhou' --InstanceId.1 'i-bp1******'

Si CloudAssistantStatus es true y SupportSessionManager es true, la instancia admite conexiones de 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

Consulte DescribeCloudAssistantStatus.

Preparar las credenciales de un usuario de RAM para Session Manager

Cuando use ali-instance-cli, debe especificar el par de AccessKey y el token de Security Token Service (STS) del usuario de RAM. Al conectarse a una instancia mediante Session Manager, el sistema verifica si el usuario de RAM propietario de las credenciales también tiene el permiso ecs:StartTerminalSession.

Cuando configure una directiva personalizada, establezca el parámetro Resource para indicar a qué instancias de ECS puede conectarse el usuario de RAM mediante Session Manager. Ejemplo de directiva:

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

Para obtener información sobre los parámetros CredentialsURI y STS Token, consulte Create an AccessKey pair y STS overview.

Para conocer cómo otorgar permisos a un usuario de RAM, consulte Manage RAM user permissions.

1. Instalar y configurar Session Manager CLI

Nota

Omita este paso si ya instaló y configuró Session Manager CLI.

1.1 Instalación

Instale Session Manager CLI (ali-instance-cli) en su computadora. El método de instalación varía según el sistema operativo.

Windows

Haga clic aquí para descargar ali-instance-cli para Windows y guárdelo en una carpeta local.

Este tema usa como ejemplo la carpeta C:\Users\test .

macOS

En la terminal de macOS, descargue ali-instance-cli para macOS:

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

Otorgue permisos de ejecución:

chmod a+x ali-instance-cli

Linux

Instale ali-instance-cli para Linux:

Arquitectura x86

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

Arquitectura arm

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

Otorgue permisos de ejecución:

chmod a+x ali-instance-cli

1.2 Configuración

Para conectarse a una instancia de ECS con ali-instance-cli, configure las credenciales de identidad, como un AccessKey. Consulte Prepare the credentials of a RAM user for Session Manager.

Windows

  1. Haga clic en Start > Run, introduzca cmd y presione la tecla Enter para abrir una ventana del símbolo del sistema.

  2. Vaya al directorio de ali-instance-cli.exe. Este ejemplo utiliza C:\Users\test.

    cd C:\Users\test
  3. Configure las credenciales con uno de los siguientes métodos:

    AccessKey

    Configure el AccessKey ID, el AccessKey secret y el Region ID según las indicaciones:

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

    STS Token

    Complete la configuración:

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

    Reemplace <region>, <ak>, <sk> y <sts_token> con su ID de región, AccessKey ID, AccessKey secret y token de STS reales.

    CredentialsURI

    Introduzca el Credentials URI y el Region ID según las indicaciones:

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

    La siguiente salida indica que la configuración fue exitosa.

    image

macOS/Linux

  1. Vaya al directorio de ali-instance-cli. Este ejemplo utiliza el directorio principal ~.

    cd ~
  2. Configure las credenciales:

    AccessKey

    Configure el AccessKey ID, el AccessKey secret y el Region ID según las indicaciones:

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

    STS Token

    Complete la configuración:

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

    Reemplace <region>, <ak>, <sk> y <sts_token> con su ID de región, AccessKey ID, AccessKey secret y token de STS reales.

    CredentialsURI

    Configure el Credentials URI y el Region ID según las indicaciones:

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

    La siguiente salida indica que la configuración fue exitosa.

    image

2. Conectarse a una instancia mediante Session Manager

2.1 Obtener el ID de la instancia

Obtenga el ID de la instancia antes de conectarse con Session Manager.

Consola

  1. Vaya a Consola de ECS - Instances.

  2. En la barra de navegación superior, seleccione la región y el resource group de la instancia.

  3. En la página Instance, busque la instancia a la que desea conectarse. El ID de la instancia se muestra en la figura.

image

Alibaba Cloud CLI

Si ya configuró Alibaba Cloud CLI, ejecute el siguiente comando para obtener el ID de la instancia. Para obtener detalles sobre los parámetros, consulte DescribeInstances.

Este tema usa como ejemplo una instancia llamada SessionManager-example en la región China (Hangzhou).
aliyun ecs DescribeInstances --region cn-hangzhou --RegionId 'cn-hangzhou' --InstanceName 'SessionManager-example'

El valor de InstanceId en la respuesta es el ID de la instancia.

image

API

Consulte DescribeInstances.

2.2 Usar la función Session Manager de ali-instance-cli

Máquina local: Windows

En el símbolo del sistema, vaya al directorio de ali-instance-cli.exe y conéctese a la instancia. Reemplace <instance_id> con el ID de instancia obtenido en el Paso 2.1.

ali-instance-cli.exe session --instance <instance_id>

Ejemplo: conéctese a una instancia con el ID i-bp1******:

ali-instance-cli.exe session --instance i-bp1******

Una vez establecida la conexión, podrá acceder a la interfaz de línea de comandos de la instancia.

image

macOS/Linux

En la terminal, vaya al directorio de ali-instance-cli y conéctese a la instancia. Reemplace <instance_id> con el ID de instancia obtenido en el Paso 2.1.

./ali-instance-cli session --instance <instance_id> 

Ejemplo: conéctese a una instancia con el ID i-bp1******:

./ali-instance-cli session --instance i-bp1******

La siguiente salida indica que la conexión fue exitosa. Ahora puede acceder a la interfaz de línea de comandos de la instancia.

image

2.3 Conectarse a un nodo LINGJUN mediante ali-instance-cli

A partir de la versión 1.x.0.93, el subcomando session de ali-instance-cli admite el parámetro --node. Use este parámetro para especificar el ID del nodo LINGJUN al que desea conectarse.

Máquina local: Windows

En el símbolo del sistema, vaya al directorio de ali-instance-cli.exe y ejecute el siguiente comando. Reemplace <lingjun_node_id> con el ID del nodo LINGJUN.

ali-instance-cli.exe session --node <lingjun_node_id>

Una vez establecida la conexión, podrá acceder a la interfaz de línea de comandos del nodo LINGJUN.

macOS/Linux

En la terminal, vaya al directorio de ali-instance-cli y ejecute el siguiente comando. Reemplace <lingjun_node_id> con el ID del nodo LINGJUN.

./ali-instance-cli session --node <lingjun_node_id>

Una vez establecida la conexión, podrá acceder a la interfaz de línea de comandos del nodo LINGJUN.

Otras funciones

Session Manager CLI (ali-instance-cli) también admite las siguientes funciones:

Preguntas frecuentes

La línea de comandos no responde tras ejecutar un comando (la instancia no está en estado Running)

Si la línea de comandos no responde después de ejecutar un comando de ali-instance-cli, es posible que la instancia no esté en estado Running. Para consultar el estado de la instancia, vea Check whether the instance is in the Running state en este tema.

La línea de comandos no responde tras ejecutar un comando (problema de configuración del security group)

Si la línea de comandos no responde después de ejecutar un comando de ali-instance-cli, es probable que los puertos salientes obligatorios no estén abiertos en el security group. De forma predeterminada, los security groups básicos permiten todo el tráfico saliente. Este problema puede presentarse si modificó las reglas salientes o si utiliza un security group avanzado.

Cuando use Session Manager para conectarse a una instancia de ECS, asegúrese de que Cloud Assistant Agent en ejecución dentro de la instancia esté conectado al servidor de Cloud Assistant. Para ello, agregue las siguientes reglas a un security group saliente:

A diferencia de métodos de conexión como SSH y Remote Desktop Protocol (RDP), Cloud Assistant Agent establece activamente una conexión WebSocket hacia el servidor de Session Manager. Solo necesita abrir el puerto WebSocket saliente del servidor de Cloud Assistant en una regla de seguridad. Para conocer el funcionamiento de Session Manager, consulte la sección How Session Manager works de este tema.
Importante
  • Si utiliza security groups básicos, incluido el security group predeterminado, se permite todo el tráfico saliente. No se requiere configuración adicional.

  • Si utiliza un security group avanzado, se deniega todo el tráfico saliente. Debe configurar las reglas correspondientes. La siguiente tabla describe dichas reglas. Para obtener más información sobre los security groups, consulte Basic and advanced security groups.

Para saber cómo agregar reglas a un security group, consulte Add a security group rule.

Acción

Prioridad

Tipo de protocolo

Rango de puertos

Objeto de autorización

Descripción

Allow

1

Custom TCP

443

100.100.0.0/16

Este puerto se utiliza para acceder al servidor de Cloud Assistant.

Allow

1

Custom TCP

443

100.0.0.0/8

Este puerto se utiliza para acceder al servidor donde se almacena el paquete de instalación de Cloud Assistant Agent cuando desea instalar o actualizar Cloud Assistant Agent.

Allow

1

Custom UDP

53

0.0.0.0/0

Este puerto se utiliza para resolver nombres de dominio.

Si desea conectarse a una instancia únicamente mediante Session Manager, elimine del security group las reglas entrantes que permiten el puerto SSH (22 de forma predeterminada) y el puerto RDP (3389 de forma predeterminada) para mejorar la seguridad de la instancia de ECS.

Se reporta el error DeliveryTimeout tras ejecutar un comando (Cloud Assistant Agent está desconectado)

Si aparece el error DeliveryTimeout al ejecutar un comando de ali-instance-cli, es posible que Cloud Assistant Agent no esté disponible. Check whether Cloud Assistant Agent is installed on the instance.

image

image

Se reporta el error "session manager is disabled, please enable first" tras ejecutar un comando

Si aparece el error session manager is disabled, please enable first después de ejecutar un comando de ali-instance-cli, enable Session Manager en la consola.

La conexión se cierra automáticamente por inactividad prolongada

Las conexiones de Session Manager se cierran tras agotar el tiempo de espera de inactividad, cuyo valor predeterminado es de 3 minutos. Utilice el parámetro --idle-timeout para establecer un tiempo de espera personalizado en segundos.

Ejemplo: conéctese con un tiempo de espera de inactividad de 10 minutos:

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

Esta función requiere las siguientes versiones de ali-instance-cli:

  • Linux: 1.2.0.48

  • Windows: 1.1.0.48

  • macOS: 1.3.0.48

Cómo analizar los registros de ali-instance-cli

Analice los registros de ali-instance-cli para identificar problemas.

  • Registros de Session Manager CLI: cuando utiliza ali-instance-cli, se genera una carpeta de registros (por ejemplo, ~/log/aliyun_ecs_session_log.2022XXXX) en el directorio de la herramienta.

  • Registros 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