步骤 8:(可选)通过启用 SSH 连接 - AWS Systems Manager
AWS 文档中描述的 AWS 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 AWS 服务入门

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

步骤 8:(可选)通过启用 SSH 连接

您可以允许 AWS 账户中的用户使用 AWS Command Line Interface (AWS CLI) 使用会话管理器建立到实例的安全 Shell (SSH) 连接。使用 SSH 连接的用户还可以使用安全复制协议 (SCP) 在本地计算机和托管实例之间复制文件。您可以使用该功能连接到实例,而无需打开入站端口或维护堡垒主机。您还可以选择通过会话管理器明确禁用到您的实例的 SSH 连接。

注意

对于通过端口转发或 SSH 连接的会话管理器会话,日志记录不可用。这是因为 SSH 加密所有会话数据,而会话管理器仅用作 SSH 连接的隧道。

通过会话管理器启用 SSH 连接

  1. 在要启用 SSH 连接的托管实例上,执行以下操作:

  2. 在要使用 SSH 连接到托管实例的本地计算机上,执行以下操作:

    • 确保安装了会话管理器插件的版本 1.1.1.23.0 或更高版本。

      有关安装 Session Manager 插件的信息,请参阅(可选)为安装 AWS CLI 安装会话管理器插件

    • 更新 SSH 配置文件以启用运行代理命令,此命令启动会话管理器会话并通过连接传输所有数据。

      Linux 和 macOS

      Linux

      提示

      SSH 配置文件通常位于 ~/.ssh/config

      将以下内容添加到在您本地计算机上的配置文件中。

      # SSH over Session Manager host i-* mi-* ProxyCommand sh -c "aws ssm start-session --target %h --document-name AWS-StartSSHSession --parameters 'portNumber=%p'"

      Windows

      提示

      SSH 配置文件通常位于 C:\Users\username\.ssh\config

      将以下内容添加到在您本地计算机上的配置文件中。

      # SSH over Session Manager host i-* mi-* ProxyCommand C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe "aws ssm start-session --target %h --document-name AWS-StartSSHSession --parameters portNumber=%p"
    • 创建或确认您具有在建立到托管实例的连接时使用的隐私增强邮件证书(PEM 文件),或者至少具有公有密钥。这必须是已与实例关联的密钥。例如,对于 Amazon Elastic Compute Cloud (Amazon EC2) 实例,这是在创建实例时创建或选择的 key pair 文件。(您可以在启动会话的命令中指定证书或密钥的路径。 有关使用 SSH 启动会话的信息,请参阅启动会话 (SSH)。)

用于通过会话管理器启用 SSH 连接的 IAM 策略

  • 选项 1:通过以下网址打开 IAM 控制台:https://console.aws.amazon.com/iam/。在导航窗格中,选择策略,然后更新您想要允许通过会话管理器启动 SSH 连接的用户或角色的权限策略。例如,准备修改您在会话管理器的快速入门最终用户策略中创建的用户快速入门策略。向策略中添加以下元素。

    { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "ssm:StartSession", "Resource": [ "arn:aws:ec2:region:987654321098:instance/i-02573cafcfEXAMPLE", "arn:aws:ssm:*:*:document/AWS-StartSSHSession" ] } ] }

    选项 2:使用 AWS 管理控制台、AWS CLI 或 AWS API 将一个内联策略附加到用户策略。

    通过使用所选的方法,将选项 1 中的策略语句附加到 AWS 用户、组或角色的策略中。

    想要了解有关信息,请参阅添加和删除 IAM 身份权限中的IAM 用户指南

用于通过会话管理器禁用 SSH 连接的 IAM 策略

  • 选项 1:通过以下网址打开 IAM 控制台:https://console.aws.amazon.com/iam/。在导航窗格中,选择策略,然后更新用户或角色的权限策略以阻止启动会话 Manager 会话。例如,准备修改您在会话管理器的快速入门最终用户策略中创建的用户快速入门策略。将以下元素添加到策略中,或替换允许用户启动会话的任何权限。

    { "Version": "2012-10-17", "Statement": [ { "Sid": "VisualEditor1", "Effect": "Deny", "Action": "ssm:StartSession", "Resource": "arn:aws:ssm:*:*:document/AWS-StartSSHSession" } ] }

    选项 2:使用 AWS 管理控制台、AWS CLI 或 AWS API 将一个内联策略附加到用户策略。

    通过使用所选的方法,将选项 1 中的策略语句附加到 AWS 用户、组或角色的策略中。

    想要了解有关信息,请参阅添加和删除 IAM 身份权限中的IAM 用户指南