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

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

步骤 8:(可选)允许 SSH 连接Session Manager

您可以允许用户在 Amazon Web Services 账户 要使用的Amazon Command Line Interface(Amazon CLI)建立到实例的安全 Shell (SSH) 连接,使用Amazon Systems Manager Session Manager. 使用 SSH 连接的用户还可以使用安全复制协议 (SCP) 在本地计算机和托管实例之间复制文件。您可以使用该功能连接到实例,而无需打开入站端口或维护堡垒主机。您还可以选择通过以下方式明确关闭到您的实例的 SSH 连接。Session Manager.

注意

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

要通过允许 SSH 连接Session Manager

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

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

    • 确保安装了 Session Manager 插件的版本 1.1.23.0 或更高版本。

      有关安装 Session Manager 的信息,请参阅(可选) 安装Session Manager插件Amazon CLI

    • 更新 SSH 配置文件以允许运行代理命令,该命令启动Session Manager会话并通过连接传输所有数据。

      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 策略Session Manager

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

    { "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:将一个内联策略附加到用户策略,方法是使用Amazon Web Services Management Console,Amazon CLI,或AmazonAPI。

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

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

用于通过关闭 SSH 连接的 IAM 策略Session Manager

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

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

    选项 2:将一个内联策略附加到用户策略,方法是使用Amazon Web Services Management Console,Amazon CLI,或AmazonAPI。

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

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