Inicio de una sesión - AWS Systems Manager

Inicio de una sesión

Puede utilizar la consola de AWS Systems Manager, la consola de Amazon Elastic Compute Cloud (Amazon EC2), la AWS Command Line Interface (AWS CLI) o SSH para iniciar una sesión.

Inicio de una sesión (consola de Systems Manager)

Puede utilizar la consola de AWS Systems Manager para iniciar una sesión con un nodo administrado en la cuenta.

nota

Antes de iniciar una sesión, asegúrese de haber completado los pasos de configuración de Session Manager. Para obtener más información, consulte Configuración de Session Manager.

Para iniciar una sesión (consola de Systems Manager)
  1. Abra la consola de AWS Systems Manager en https://console.aws.amazon.com/systems-manager/.

  2. En el panel de navegación, elija Session Manager.

  3. Haga clic en Start session (Iniciar sesión).

  4. (Opcional) Ingrese una descripción de la sesión en el campo Motivo de la sesión.

  5. En Instancias de destino, elija el botón de opción situado a la izquierda del nodo administrado al que desea conectarse.

    Si el nodo que desea no está en la lista o si selecciona un nodo y recibe un error de configuración, consulte Nodo administrado no disponible o no configurado para Session Manager para seguir los pasos de solución de problemas.

  6. Seleccione Iniciar sesión para iniciar la sesión de forma inmediata.

    -o bien-

    Elija Siguiente para ver las opciones de sesión.

  7. (Opcional) En Documento de sesión, seleccione el documento que desea ejecutar cuando se inicie la sesión. Si el documento admite parámetros de tiempo de ejecución, puede introducir uno o más valores separados por comas en cada campo de parámetro.

  8. Elija Siguiente.

  9. Haga clic en Start session (Iniciar sesión).

Una vez establecida la conexión, puede ejecutar comandos bash (Linux y macOS) o comandos PowerShell (Windows), tal como lo haría con cualquier otro tipo de conexión.

importante

Si desea permitir a los usuarios especificar un documento al iniciar las sesiones en la consola de Session Manager, tenga en cuenta lo siguiente:

Inicio de una sesión (consola de Amazon EC2)

Puede utilizar la consola de Amazon Elastic Compute Cloud (Amazon EC2) para iniciar una sesión con una instancia de su cuenta.

nota

Si recibe un mensaje de error que indica que no está autorizado para llevar a cabo una o más acciones de Systems Manager (ssm:command-name), debe contactar con su administrador para recibir ayuda. El administrador es la persona que le proporcionó las credenciales de inicio de sesión. Pídale a esa persona que actualice las políticas de modo que le permitan iniciar sesiones desde la consola de Amazon EC2. Si es administrador, consulte Ejemplos de políticas de IAM para Session Manager para obtener más información.

Para iniciar una sesión (consola de Amazon EC2)
  1. Abra la consola de Amazon EC2 en https://console.aws.amazon.com/ec2/.

  2. En el panel de navegación, seleccione Instances (Instancia[s]).

  3. Seleccione la instancia y elija Connect (Conectar).

  4. Para Connection Method (Método de conexión), seleccione Session Manager.

  5. Elija Conectar.

Una vez establecida la conexión, puede ejecutar comandos bash (Linux y macOS) o comandos PowerShell (Windows), tal como lo haría con cualquier otro tipo de conexión.

Inicio de una sesión (AWS CLI)

Si aún no lo ha hecho, instale y configure la AWS Command Line Interface (AWS CLI).

Para obtener más información, consulte Instalación o actualización de la última versión de la AWS CLI.

Antes de iniciar una sesión, asegúrese de haber completado los pasos de configuración de Session Manager. Para obtener más información, consulte Configuración de Session Manager.

Para utilizar la AWS CLI para ejecutar comandos de sesión, el complemento de Session Manager también debe estar instalado en su equipo local. Para obtener más información, consulte Instalación del complemento de Session Manager para la AWS CLI.

Para iniciar una sesión mediante la AWS CLI, ejecute el siguiente comando y reemplace instance-id por su propia información.

aws ssm start-session \ --target instance-id

Para obtener más información sobre otras opciones que puede utilizar con el comando start-session, consulte start-session en la sección de AWS Systems Manager en la Referencia de comandos de la AWS CLI.

Inicio de una sesión (SSH)

Para iniciar una sesión de SSH de Session Manager, la versión 2.3.672.0 o una versión posterior de SSM Agent debe estar instalada en el nodo administrado.

Requisitos de conexión de SSH

Tome nota de los siguientes requisitos y limitaciones de las conexiones de sesión mediante SSH:

  • El nodo administrado de destino debe estar configurado para admitir conexiones SSH. Para obtener más información, consulte (Opcional) Habilitación y control de permisos para conexiones de SSH mediante Session Manager.

  • Debe conectarse utilizando la cuenta del nodo administrado asociada al certificado Privacy Enhanced Mail (PEM), no la cuenta ssm-user que se utiliza para otros tipos de conexiones de sesión. Por ejemplo, en las instancias de EC2 de Linux y macOS, el usuario predeterminado es ec2-user. Para obtener información sobre cómo identificar al usuario predeterminado de cada tipo de instancia, consulte Obtención de información sobre una instancia en la Guía del usuario de Amazon EC2.

  • El registro no está disponible para las sesiones de Session Manager que se conectan a través del reenvío de puertos o de SSH. Esto se debe a que SSH cifra todos los datos de la sesión y Session Manager solo sirve como túnel para las conexiones de SSH.

nota

Antes de iniciar una sesión, asegúrese de haber completado los pasos de configuración de Session Manager. Para obtener más información, consulte Configuración de Session Manager.

Para iniciar una sesión con SSH, ejecute el siguiente comando. Reemplace cada example resource placeholder por su propia información.

ssh -i /path/my-key-pair.pem username@instance-id
sugerencia

Cuando inicia una sesión con SSH, puede copiar archivos locales al nodo administrado de destino con el siguiente formato de comando.

scp -i /path/my-key-pair.pem /path/ExampleFile.txt username@instance-id:~

Para obtener más información sobre otras opciones que puede utilizar con el comando start-session, consulte start-session en la sección de AWS Systems Manager en la Referencia de comandos de la AWS CLI.

Inicio de una sesión (enrutamiento de puertos)

Para iniciar una sesión de reenvío de puertos de Session Manager, el nodo administrado debe tener instalada la versión 2.3.672.0 de SSM Agent o una posterior.

nota

Antes de iniciar una sesión, asegúrese de haber completado los pasos de configuración de Session Manager. Para obtener más información, consulte Configuración de Session Manager.

Para utilizar la AWS CLI para ejecutar comandos de sesión, debe instalar el complemento de Session Manager en su equipo local. Para obtener más información, consulte Instalación del complemento de Session Manager para la AWS CLI.

Según el sistema operativo y la herramienta de línea de comandos, la colocación de comillas puede variar, y es posible que se requieran caracteres de escape.

Para iniciar una sesión de reenvío de puertos, ejecute el siguiente comando desde la CLI. Reemplace cada example resource placeholder por su propia información.

Linux & macOS
aws ssm start-session \ --target instance-id \ --document-name AWS-StartPortForwardingSession \ --parameters '{"portNumber":["80"], "localPortNumber":["56789"]}'
Windows
aws ssm start-session ^ --target instance-id ^ --document-name AWS-StartPortForwardingSession ^ --parameters portNumber="3389",localPortNumber="56789"

El valor portNumber representa el puerto remoto del nodo administrado al que desea que se redirija el tráfico de la sesión. Por ejemplo, puede especificar el puerto 3389 para conectarse a un nodo de Windows mediante el protocolo de escritorio remoto (RDP). Si no especifica el parámetro portNumber, Session Manager utiliza 80 como el valor predeterminado.

localPortNumber es el puerto del equipo local donde comienza el tráfico, por ejemplo 56789. Este valor es lo que se ingresa cuando se conecta a un nodo administrado mediante un cliente. Por ejemplo, localhost:56789.

Para obtener más información sobre otras opciones que puede utilizar con el comando start-session, consulte start-session en la sección de AWS Systems Manager en la Referencia de comandos de la AWS CLI.

Para obtener más información acerca de las sesiones de reenvío de puertos, consulte Port Forwarding Using AWS Systems ManagerSession Manager en el Blog de noticias de AWS.

Inicio de una sesión (reenvío de puertos a host remoto)

Para iniciar una sesión de reenvío de puertos de Session Manager a un host remoto, el nodo administrado debe tener instalada la versión 3.1.1374.0 o posterior de SSM Agent. No se requiere que Systems Manager administre el host remoto.

nota

Antes de iniciar una sesión, asegúrese de haber completado los pasos de configuración de Session Manager. Para obtener más información, consulte Configuración de Session Manager.

Para utilizar la AWS CLI para ejecutar comandos de sesión, debe instalar el complemento de Session Manager en su equipo local. Para obtener más información, consulte Instalación del complemento de Session Manager para la AWS CLI.

Según el sistema operativo y la herramienta de línea de comandos, la colocación de comillas puede variar, y es posible que se requieran caracteres de escape.

Para iniciar una sesión de reenvío de puertos, ejecute el siguiente comando desde la AWS CLI. Reemplace cada example resource placeholder con su propia información.

Linux & macOS
aws ssm start-session \ --target instance-id \ --document-name AWS-StartPortForwardingSessionToRemoteHost \ --parameters '{"host":["mydb.example.us-east-2.rds.amazonaws.com"],"portNumber":["3306"], "localPortNumber":["3306"]}'
Windows
aws ssm start-session ^ --target instance-id ^ --document-name AWS-StartPortForwardingSessionToRemoteHost ^ --parameters host="mydb.example.us-east-2.rds.amazonaws.com",portNumber="3306",localPortNumber="3306"

El valor host representa el nombre de host o la dirección IP del host remoto al que desea conectarse. Se siguen aplicando los requisitos generales de conectividad y resolución de nombres entre el nodo administrado y el host remoto.

El valor portNumber representa el puerto remoto del nodo administrado al que desea que se redirija el tráfico de la sesión. Por ejemplo, puede especificar el puerto 3389 para conectarse a un nodo de Windows mediante el protocolo de escritorio remoto (RDP). Si no especifica el parámetro portNumber, Session Manager utiliza 80 como el valor predeterminado.

localPortNumber es el puerto del equipo local donde comienza el tráfico, por ejemplo 56789. Este valor es lo que se ingresa cuando se conecta a un nodo administrado mediante un cliente. Por ejemplo, localhost:56789.

Para obtener más información sobre otras opciones que puede utilizar con el comando start-session, consulte start-session en la sección de AWS Systems Manager en la Referencia de comandos de la AWS CLI.

Iniciar una sesión con una tarea de Amazon ECS

Session Manager permite iniciar una sesión de reenvío de puertos con una tarea dentro de un clúster de Amazon Elastic Container Service (Amazon ECS). Para ello, debe actualizar el rol de tarea en IAM para incluir los siguientes permisos:

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "ssmmessages:CreateControlChannel", "ssmmessages:CreateDataChannel", "ssmmessages:OpenControlChannel", "ssmmessages:OpenDataChannel" ], "Resource": "*" } ] }

Para iniciar una sesión de reenvío de puertos con una tarea de Amazon ECS, ejecute el siguiente comando desde la AWS CLI. Reemplace cada example resource placeholder con su propia información.

nota

Elimine los símbolos < y > del parámetro target. Estos símbolos se proporcionan únicamente para que el lector los aclare.

Linux & macOS
aws ssm start-session \ --target ecs:<ECS_cluster_name>_<ECS_container_ID>_<container_runtime_ID> \ --document-name AWS-StartPortForwardingSessionToRemoteHost \ --parameters '{"host":["URL"],"portNumber":["port_number"], "localPortNumber":["port_number"]}'
Windows
aws ssm start-session ^ --target ecs:<ECS_cluster_name>_<ECS_container_ID>_<container_runtime_ID> ^ --document-name AWS-StartPortForwardingSessionToRemoteHost ^ --parameters host="URL",portNumber="port_number",localPortNumber="port_number"

Inicio de una sesión (comandos interactivos y no interactivos)

Antes de iniciar una sesión, asegúrese de haber completado los pasos de configuración de Session Manager. Para obtener más información, consulte Configuración de Session Manager.

Para utilizar la AWS CLI para ejecutar comandos de sesión, el complemento de Session Manager también debe estar instalado en su equipo local. Para obtener más información, consulte Instalación del complemento de Session Manager para la AWS CLI.

Para iniciar una sesión de comandos interactivos, ejecute el siguiente comando. Reemplace cada example resource placeholder por su propia información.

Linux & macOS
aws ssm start-session \ --target instance-id \ --document-name CustomCommandSessionDocument \ --parameters '{"logpath":["/var/log/amazon/ssm/amazon-ssm-agent.log"]}'
Windows
aws ssm start-session ^ --target instance-id ^ --document-name CustomCommandSessionDocument ^ --parameters logpath="/var/log/amazon/ssm/amazon-ssm-agent.log"

Para obtener más información sobre otras opciones que puede utilizar con el comando start-session, consulte start-session en la sección de AWS Systems Manager en la Referencia de comandos de la AWS CLI.