本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
管理 SSH 访问
重要
该 AWS OpsWorks Stacks 服务于 2024 年 5 月 26 日终止,新客户和现有客户均已禁用。我们强烈建议客户尽快将其工作负载迁移到其他解决方案。如果您对迁移有疑问,请通过 re AWS : Post 或通过 Pre
AWS OpsWorks 堆栈支持 Linux 和 Windows 堆栈的 SSH 密钥。
身份验证基于 SSH 密钥对,该密钥对包含公有密钥和私有密钥:
-
您可以在实例上安装公有密钥。
位置取决于特定的操作系统,但 AWS OpsWorks Stacks会为您处理细节。
-
您在本地存储私有密钥并将其提供给 SSH 客户端 (如
ssh.exe
) 以访问该实例。SSH 客户端使用私有密钥连接到该实例。
要向堆栈用户提供 SSH 访问权,您需要通过某种方式创建 SSH 密钥对、在堆栈的实例上安装公有密钥并安全地管理私有密钥。
Amazon EC2 提供了一种简单的方式,可在实例上安装公有 SSH 密钥。您可以使用 Amazon EC2 控制台或 API 为计划使用的每个 Amazon Web Services Region 创建一个或多个密钥对。Amazon EC2 将在 AWS 上存储公有密钥,并且您将本地存储私有密钥。在启动实例时,您可以指定区域的一个密钥对,Amazon EC2 将自动在实例上安装该密钥对。然后,您可以使用相应的私有密钥来登录该实例。有关更多信息,请参阅 Amazon EC2 密钥对。
使用 AWS OpsWorks Stacks,您可以在创建堆栈时指定该地区的 Amazon EC2 密钥对之一,也可以选择在创建每个实例时使用不同的密钥对覆盖该密钥对。当 AWS OpsWorks Stacks 启动相应的 Amazon EC2 实例时,它会指定密钥对,并且 Amazon EC2 会在实例上安装公有密钥。然后,您可以使用私有密钥登录或检索管理员密码,就像您对标准 Amazon EC2 实例所做的一样。有关更多信息,请参阅 安装 Amazon EC2 密钥。
使用 Amazon EC2 密钥对很方便,但有两个重要限制:
-
Amazon EC2 密钥对与特定的 Amazon Web Services Region 关联。
如果您在多个区域中工作,则必须管理多个密钥对。
-
您只能在一个实例上安装一个 Amazon EC2 密钥对。
如果您想允许多个用户登录,这些用户必须具有公有密钥的副本,这不是推荐的安全实践。
对于 Linux 堆栈, AWS OpsWorks Stacks 提供了一种更简单、更灵活的方式来管理 SSH 密钥对。
-
每个用户均注册一个个人密钥对。
它们将私钥存储在本地并向 AWS OpsWorks Stacks 注册公钥,如中所述。注册用户的公有 SSH 密钥
-
当您设置堆栈的用户权限时,可以指定哪些用户应具有对堆栈实例的 SSH 访问权。
AWS OpsWorks Stacks 会自动在堆栈的实例上为每个授权用户创建一个系统用户,并安装他们的公钥。然后,该用户可以使用相应的私有密钥进行登录,如使用 SSH 登录中所述。
使用个人 SSH 密钥具有以下优势。
-
无需在实例上手动配置密钥; AWS OpsWorks Stacks 会自动在每个实例上安装相应的公钥。
-
AWS OpsWorks Stacks 仅安装授权用户的个人公钥。
未授权用户无法使用其个人私有密钥来获取对实例的访问权。利用 Amazon EC2 密钥对,任何具有相应私有密钥的用户均可登录,无论其是否具有授权的 SSH 访问权。
-
如果用户不再需要 SSH 访问权,则可使用 Permissions 页撤销用户的 SSH/RDP 权限。
AWS OpsWorks 堆栈会立即从堆栈的实例中卸载公钥。
-
您可以对任意 Amazon Web Services Region 使用相同的密钥。
用户必须仅管理一个私有密钥。
-
无需共享私有密钥。
每个用户均有其自己的私有密钥。
-
可轻松轮换密钥。
您或用户更新 My Settings (我的设置) 中的公有密钥,而 AWS OpsWorks Stacks 将自动更新实例。