本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
启动会话
您可以使用 AWS Systems Manager 控制台、Amazon Elastic Compute Cloud (Amazon EC2) 控制台、AWS Command Line Interface (AWS CLI) 或 SSH 启动会话。
主题
启动会话(Systems Manager 控制台)
您可以使用 AWS Systems Manager 控制台启动与账户中的托管式节点进行的会话。
注意
在启动会话之前,确保您已经完成 Session Manager 的设置步骤。有关信息,请参阅 设置 Session Manager 。
启动会话(Systems Manager 控制台)
-
访问 https://console.aws.amazon.com/systems-manager/
,打开 AWS Systems Manager 控制台。 -
在导航窗格中,选择 Session Manager 。
如果首先打开 AWS Systems Manager 主页,选择菜单图标(
对于 目标实例 ,选择要连接的托管节点左侧的选项按钮。
如果您想要的节点不在列表中,或者您选择了一个节点并收到配置错误,请参阅 托管式节点不可用或未为 Session Manager 配置托管式节点 用于故障排除步骤。
选择 开始会话 立即启动会话。
选择 下一步 用于会话选项。
(可选)对于 会话文档 ,选择会话启动时要运行的文档。如果您的文档支持运行时参数,则可以在每个参数字段中输入一个或多个以逗号分隔的值。
选择 下一步 。
选择 Start session (启动会话) 。
建立连接后,你可以运行 bash 命令 (Linux和macOS) 或PowerShell命令(Windows) 就像您通过任何其他连接类型一样。
重要
如果您想允许用户在会话管理器控制台中启动会话时指定文档,请注意以下几点:
您必须向用户授予
ssm:GetDocument和ssm:ListDocuments其 IAM 策略中的权限。有关更多信息,请参阅 在控制台中授予对自定义会话文档的访问权限 :控制台仅支持具有以下内容的会话文档
sessionType定义为Standard_Stream。有关更多信息,请参阅 会话文档架构 :开启会话(Amazon EC2 控制台)
您可以使用 Amazon Elastic Compute Cloud (Amazon EC2) 控制台来启动与账户中的实例的会话。
注意
如果您收到一个错误,提示您无权执行一项或多项 Systems Manager 操作 (
ssm:),则必须联系您的管理员寻求帮助。管理员是向您提供登录凭证的人。让其帮助您更新您的策略,以允许您从 Amazon EC2 控制台启动会话。如果您是管理员,请参阅 Session Manager 的默认 IAM policy 快速入门 了解更多信息。command-name要启动会话(Amazon EC2 控制台),请执行以下步骤:
-
通过以下网址打开 Amazon EC2 控制台: https://console.aws.amazon.com/ec2/
。 -
在导航窗格中,选择 实例 。
选择实例,然后选择 连接 。
对于 Connection method (连接方法) ,选择 Session Manager 。
选择 Connect (连接)。
建立连接后,你可以运行 bash 命令 (Linux和macOS) 或PowerShell命令(Windows) 就像您通过任何其他连接类型一样。
启动会话 (AWS CLI)
安装并配置 AWS Command Line Interface (AWS CLI)(如果尚未执行该操作)。
有关信息,请参阅 安装或更新 AWS CLI 的最新版本 。
在启动会话之前,确保您已经完成 Session Manager 的设置步骤。有关信息,请参阅 设置 Session Manager 。
要使用 AWS CLI 运行会话命令,还必须在本地计算机上安装 Session Manager 插件。有关信息,请参阅 安装Session Manager插件 AWS CLI 。
要使用 AWS CLI 开启会话,请运行以下命令,将
instance-id替换为您自己的信息。aws ssm start-session \ --targetinstance-id有关可与... 一起使用的其他选项的信息 start-session 命令,请参见 start-session 在AWS Systems Manager的部分AWS CLI命令参考。
启动会话 (SSH)
要启动 Session Manager SSH 会话,托管式节点上必须安装 2.3.672.0 版本或更高版本的 SSM Agent。
SSH 连接要求
对于使用 SSH 的会话连接,请注意以下要求和限制:
必须将目标托管式节点配置为支持 SSH 连接。有关更多信息,请参阅 (可选)通过 Session Manager 启用和控制 SSH 连接的权限 。
您必须使用与 Privacy Enhanced Mail (PEM) 证书关联的托管式节点账户进行连接,而不是用于其他类型的会话连接的
ssm-user账户。例如,在 EC2 实例上Linux和macOS,默认用户是ec2-user。有关确定每种实例类型的默认用户的信息,请参阅《适用于 Linux 实例的 Amazon EC2 用户指南》中的 获取有关您的实例的信息 。 -
日志记录不可用于通过端口转发或 SSH 连接的 Session Manager 会话。这是因为 SSH 会加密所有会话数据,而 Session Manager 仅充当 SSH 连接的隧道。
注意
在启动会话之前,确保您已经完成 Session Manager 的设置步骤。有关信息,请参阅 设置 Session Manager 。
要使用 SSH 启动会话,请运行以下命令。将每个
示例资源占位符替换为您自己的信息。ssh -i/path/my-key-pair.pemusername@instance-id提示
当您使用 SSH 启动会话时,您可以使用以下命令格式将本地文件复制到目标托管式节点。
scp -i/path/my-key-pair.pem /path/ExampleFile.txt username@instance-id:~有关可与... 一起使用的其他选项的信息 start-session 命令,请参见 start-session 在AWS Systems Manager的部分AWS CLI命令参考。
启动会话(端口转发)
要启动 Session Manager 端口转发会话,必须在托管式节点上安装 2.3.672.0 版本或更高版本的 SSM Agent。
注意
在启动会话之前,确保您已经完成 Session Manager 的设置步骤。有关信息,请参阅 设置 Session Manager 。
要使用 AWS CLI 运行会话命令,必须在本地计算机上安装 Session Manager 插件。有关信息,请参阅 安装Session Manager插件 AWS CLI 。
根据您的操作系统和命令行工具,放置引号的位置可能会有所不同,并可能需要转义字符。
要启动端口转发会话,请从 CLI 中运行以下命令。将每个
示例资源占位符替换为您自己的信息。- Linux & macOS
aws ssm start-session \ --targetinstance-id\ --document-name AWS-StartPortForwardingSession \ --parameters '{"portNumber":["80"], "localPortNumber":["56789"]}'- Windows
aws ssm start-session ^ --targetinstance-id^ --document-name AWS-StartPortForwardingSession ^ --parameters portNumber="3389",localPortNumber="56789"这个
portNumber值表示您希望将会话流量重定向到的托管节点上的远程端口。例如,您可以指定端口3389用于连接到Windows使用远程桌面协议 (RDP) 的节点。如果你没有指定portNumber参数,Session Manager使用80作为默认值。为
localPortNumber指定的值表示应将流量重新导向到的客户端上的本地端口,例如56789。此值是您在使用客户端连接到托管式节点时输入的值。例如,localhost:56789。有关可与... 一起使用的其他选项的信息 start-session 命令,请参见 start-session 在AWS Systems Manager的部分AWS CLI命令参考。
有关端口转发会话的更多信息,请参阅 AWS 新闻博客 中的 使用 AWS Systems ManagerSession Manager 进行端口转发
。启动会话(至远程主机的端口转发)
要启动至远程主机的 Session Manager 端口转发会话,必须在托管式节点上安装 3.1.1374.0 版本或更高版本的 SSM Agent。远程主机不需要由 Systems Manager 进行管理。
注意
在启动会话之前,确保您已经完成 Session Manager 的设置步骤。有关信息,请参阅 设置 Session Manager 。
要使用 AWS CLI 运行会话命令,必须在本地计算机上安装 Session Manager 插件。有关信息,请参阅 安装Session Manager插件 AWS CLI 。
根据您的操作系统和命令行工具,放置引号的位置可能会有所不同,并可能需要转义字符。
要启动端口转发会话,请从 CLI 中运行以下命令。将每个
示例资源占位符替换为您自己的信息。- Linux & macOS
aws ssm start-session \ --targetinstance-id\ --document-name AWS-StartPortForwardingSessionToRemoteHost \ --parameters '{"host":["mydb.example.us-east-2.rds.amazonaws.com"],"portNumber":["3306"], "localPortNumber":["3306"]}'- Windows
aws ssm start-session ^ --targetinstance-id^ --document-name AWS-StartPortForwardingSessionToRemoteHost ^ --parameters host="mydb.example.us-east-2.rds.amazonaws.com",portNumber="3306",localPortNumber="3306"这个
host值表示要连接的远程主机的主机名或 IP 地址。托管式节点和远程主机之间的常规连接和名称解析要求仍然适用。这个
portNumber值表示远程主机上要将会话流量重定向到的端口。例如,您可以指定端口3306用于连接到 MySQL 数据库。如果你没有指定portNumber参数,Session Manager使用80作为默认值。为
localPortNumber指定的值表示应将流量重新导向到的客户端上的本地端口,例如56789。此值是您在使用客户端连接到托管式节点时输入的值。例如,localhost:56789。有关可与... 一起使用的其他选项的信息 start-session 命令,请参见 start-session 在AWS Systems Manager的部分AWS CLI命令参考。
启动会话(交互式和非交互式命令)
在启动会话之前,确保您已经完成 Session Manager 的设置步骤。有关信息,请参阅 设置 Session Manager 。
要使用 AWS CLI 运行会话命令,还必须在本地计算机上安装 Session Manager 插件。有关信息,请参阅 安装Session Manager插件 AWS CLI 。
要启动交互式命令会话,请运行以下命令:将每个
示例资源占位符替换为您自己的信息。- Linux & macOS
aws ssm start-session \ --targetinstance-id\ --document-nameCustomCommandSessionDocument\ --parameters '{"logpath":["/var/log/amazon/ssm/amazon-ssm-agent.log"]}'- Windows
aws ssm start-session ^ --targetinstance-id^ --document-nameCustomCommandSessionDocument^ --parameters logpath="/var/log/amazon/ssm/amazon-ssm-agent.log"有关可与... 一起使用的其他选项的信息 start-session 命令,请参见 start-session 在AWS Systems Manager的部分AWS CLI命令参考。
-