3

我有一个带有 EC2 实例的 Amazon OpsWorks 堆栈。现在它具有我无法访问的默认 SSH 密钥 (.pem)。我试过的:

  1. 我创建了一个新的,保存它并做了chmod 600
  2. 尝试更改实例的 KeyPair 并ssh -v -i path/to/.pem ubuntu@host在重新启动后尝试:permission denied (public key)
  3. 尝试Stack Settings在重新启动整个堆栈后在页面上更改整个堆栈的 KeyPair:仍然得到permission denied (public key)
  4. 试图更改ubuntuec2-user. 依然没有!

注意到OpsWorks Home中的密钥发生了变化,但在EC2 Management Console中保持不变。奇怪的。

我错过了什么吗?做错了吗?任何帮助表示赞赏。谢谢

4

2 回答 2

7

就像@chris 所说,没有办法更改与实例关联的键。您将需要使用分配给它的新密钥启动一个新密钥。

但是,如果您需要 SSH 访问,请不要尝试更改或更新与实例关联的密钥。自从我停止为实例分配密钥以允许 OpsWorks 在权限部分管理用户访问以来已经有一段时间了。

这为您提供了极大的灵活性,因为您无需在每次需要更改或设置新的 SSH 密钥时在用户之间共享密钥或启动新实例。您可以随时添加或删除用户,并控制谁拥有 SSH 和/或 Sudo 访问权限。

要开始授予您的一位用户对 OpsWorks 的访问权限或导入 IAM 用户,请执行以下操作:

导入 iam 用户

授予访问权限后,要求用户在“我的设置”>“编辑”页面中添加自己的公钥:

在此处输入图像描述

在此处输入图像描述

如果您授予该用户对 SSH 的访问权限,您所要做的就是等待配方完成运行,用户将能够像这样连接到实例:

 $ ssh -i ~/.ssh/[your-key-file] [user-name]@[instance-ip-address]

请注意,每当您更改权限或设置部分时,配方将在您的实例中运行并更新用户访问权限。

有关如何在 OpsWorks 中授予用户权限的更多信息,请参阅AWS 文档

于 2013-11-25T17:38:46.260 回答
1

创建实例后,您无法更改与该实例关联的密钥。

如果您需要访问不再拥有密钥的实例,请创建该实例的 AMI,并使用新密钥从该 AMI 启动一个新实例。

于 2013-11-24T22:40:30.040 回答