AWS Systems Manager
用户指南
AWS 文档中描述的 AWS 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 AWS 服务入门

步骤 7:(可选)通过 Session Manager 启用 SSH 连接

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

通过 Session Manager 启用 SSH 连接

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

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

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

      有关安装 Session Manager 的信息,请参阅(可选)为 AWS CLI 安装 Session Manager Plugin

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

      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 文件),或者至少具有公有密钥。(您可以在启动会话的命令中指定证书或密钥的路径。有关使用 SSH 启动会话的信息,请参阅启动会话 (SSH)。)

通过 Session Manager 禁用 SSH 连接

  • 选项 1:打开 IAM 策略页面,然后更新用户或角色的权限策略以阻止启动 Session Manager 会话。例如,准备修改您在(快速入门)Session Manager 最终用户策略中创建的用户快速入门策略。将以下元素添加到策略中,或替换允许用户启动会话的任何权限:

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

    选项 2:使用 AWS Management Console、AWS CLI 或 AWS API 将一个内联策略附加到用户策略。

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

    有关信息,请参阅 IAM User Guide 中的添加和删除 IAM 身份权限