

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

# 管理 SSH 访问
<a name="security-ssh-access"></a>

**重要**  
该 AWS OpsWorks Stacks 服务于 2024 年 5 月 26 日终止，新客户和现有客户均已禁用。我们强烈建议客户尽快将其工作负载迁移到其他解决方案。如果您对迁移有疑问，请通过 re [AWS : Post 或通过 Pre](https://repost.aws/) mium Su [AWS pp](https://aws.amazon.com/support) ort 与 AWS 支持 团队联系。

OpsWorks 堆栈支持 Linux 和 Windows 堆栈的 SSH 密钥。
+ 对于 Linux 实例，您可以使用 SSH 登录到实例以运行[代理 CLI](agent.md) 命令。

  有关更多信息，请参阅 [使用 SSH 登录](workinginstances-ssh.md)。
+ 对于 Windows 实例，您可以使用 SSH 密钥来获取实例的管理员密码，您随后可使用该密码通过 RDP 进行登录。

  有关更多信息，请参阅 [使用 RDP 登录](workinginstances-rdp.md)。



身份验证基于 SSH 密钥对，该密钥对包含公有密钥和私有密钥：
+ 您可以在实例上安装公有密钥。

  位置取决于特定的操作系统，但 OpsWorks Stacks会为您处理细节。
+ 您在本地存储私有密钥并将其提供给 SSH 客户端 (如 `ssh.exe`) 以访问该实例。

  SSH 客户端使用私有密钥连接到该实例。

要向堆栈用户提供 SSH 访问权，您需要通过某种方式创建 SSH 密钥对、在堆栈的实例上安装公有密钥并安全地管理私有密钥。

Amazon EC2 提供了一种在实例上安装 SSH 公钥的简单方法。您可以使用 Amazon EC2 控制台或 API 为您计划使用的每个 AWS 区域创建一个或多个密钥对。Amazon 将公钥 EC2 存储在 AWS 上，而您则将私钥存储在本地。启动实例时，您需要指定该区域的密钥对之一，Amazon EC2 会自动将其安装到该实例上。然后，您可以使用相应的私有密钥来登录该实例。有关更多信息，请参阅 [Amazon EC2 密钥对](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-key-pairs.html)。

使用 OpsWorks Stacks，您可以在创建堆栈时指定该区域的某个 Amazon EC2 密钥对，也可以选择在创建每个实例时使用不同的密钥对覆盖该密钥对。当 OpsWorks Stacks 启动相应的 Amazon EC2 实例时，它会指定密钥对，然后 Amazon EC2 会在该实例上安装公钥。然后，您可以使用私钥登录或检索管理员密码，就像使用标准 Amazon EC2 实例一样。有关更多信息，请参阅 [安装 Amazon EC2 密钥](security-settingec2key.md)。

使用 Amazon EC2 key pair 很方便，但有两个明显的局限性：
+ Amazon EC2 密钥对与特定的 AWS 区域相关联。

  如果您在多个区域中工作，则必须管理多个密钥对。
+ 在一个实例上只能安装一个 Amazon EC2 密钥对。

  如果您想允许多个用户登录，这些用户必须具有公有密钥的副本，这不是推荐的安全实践。

对于 Linux 堆栈， OpsWorks Stacks 提供了一种更简单、更灵活的方式来管理 SSH 密钥对。
+ 每个用户均注册一个个人密钥对。

  它们将私钥存储在本地并向 OpsWorks Stacks 注册公钥，如中所述。[注册用户的公有 SSH 密钥](security-settingsshkey.md)
+ 当您设置堆栈的用户权限时，可以指定哪些用户应具有对堆栈实例的 SSH 访问权。

  OpsWorks Stacks 会自动在堆栈的实例上为每个授权用户创建一个系统用户，并安装他们的公钥。然后，该用户可以使用相应的私有密钥进行登录，如[使用 SSH 登录](workinginstances-ssh.md)中所述。

使用个人 SSH 密钥具有以下优势。
+ 无需在实例上手动配置密钥； OpsWorks Stacks 会自动在每个实例上安装相应的公钥。
+ OpsWorks Stacks 仅安装授权用户的个人公钥。

  未授权用户无法使用其个人私有密钥来获取对实例的访问权。使用 Amazon EC2 密钥对，任何拥有相应私钥的用户都可以登录，无论是否经过授权 SSH 访问。
+ 如果用户不再需要 SSH 访问权，则可使用 [**Permissions** 页](opsworks-security-users-manage-edit.md)撤销用户的 SSH/RDP 权限。

  OpsWorks 堆栈会立即从堆栈的实例中卸载公钥。
+ 您可以对任意 Amazon Web Services Region 使用相同的密钥。

  用户必须仅管理一个私有密钥。
+ 无需共享私有密钥。

  每个用户均有其自己的私有密钥。
+ 可轻松轮换密钥。

  您或用户更新 **My Settings (我的设置)** 中的公有密钥，而 OpsWorks Stacks 将自动更新实例。