【问题标题】:Use of "Proceed without key pair" in EC2 instance creation?在 EC2 实例创建中使用“没有密钥对继续”?
【发布时间】:2017-04-03 09:42:55
【问题描述】:

我对 AWS 比较陌生,正在探索不同的可用选项。在创建实例时,如果选择了“不使用密钥对继续”,我们将无法连接到该实例。文档还有一条说明,说明不应选择此选项。

那么这个选项的主要用途是什么?

我们应该在哪些场景下使用它?

【问题讨论】:

  • 例如,您可以创建自己的 AMI,禁用默认用户(并创建另一个,配置 ssh 密钥)并从该 AMI 启动实例

标签: amazon-web-services amazon-ec2


【解决方案1】:

Proceed without key pair 选项在以下情况下使用:

  • 当您的 AMI 中的 sshd 配置为使用基于密码的身份验证并且不需要 ssh 密钥来访问机器时
  • sshd 可以接受一些其他的username/key 组合
  • 如果未经授权的用户获得对 AWS 仪表板或元数据的访问权限,他/她可以获得密钥对的名称,如果他/她有权访问密钥对,则可以通过 ssh 进入实例。由于没有列出密钥对并且在 AMI 中烘焙了另一个已知密钥,因此解决了这个安全问题
  • Windows:不需要管理员密码(需要私钥解密),因为其他用户是管理员
  • 注意:如果您在没有密钥对的情况下启动实例,并且没有上述任何一种访问实例的方法,则必须使用密钥对重新启动实例。

【讨论】:

    【解决方案2】:

    “Proceed without key pair”可以用于例如从AMI 创建的实例,其中创建实例的一方已经知道用户名和密码。

    密钥对通常用于在已安装生成凭据的代理的 AMI 上生成登录凭据。这些都在 AWS 自己维护的大多数 AMI 上。 AWS 维护的 AMI 的默认行为会因操作系统而有所不同:

    • Linux:您在通过 SSH 连接到 EC2 实例时提供密钥对的私有部分。用户名因您使用的 linux 的风格而异,see here 了解更多详情。
    • Windows:如果您作为最终用户可以提供密钥对的私有部分,EC2Config 代理会在启动期间为默认的“管理员”windows 用户生成密码,该密码可通过 AWS 控制台或 CLI 使用。

    进一步阅读:

    【讨论】:

      【解决方案3】:

      不为默认用户帐户上传密钥会使实例更安全 - 密钥的私有部分可能会被前员工等找到或使用。

      如前所述,如果您使用的 AMI 设置了其他方式(例如密码等),您可以通过其他方式访问服务器。

      您还可以使用用户数据脚本来设置用户、密码、密钥等,以便在首次创建实例时启用访问权限。

      如果实例已安装 amazon-ssm-agent(并且此代理默认安装在 AWS Amazon Linux AMI 中),您也可以使用 AWS Systems Manager 访问服务器。 AWS Systems Manager 使您能够在浏览器中打开终端会话。看:

      https://eu-west-1.console.aws.amazon.com/systems-manager

      并查看“远程连接”下的“探索会话管理器”。

      【讨论】:

        【解决方案4】:

        我认为这是最简单的方法。

        1. 创建实例卷的快照
        2. 创建一个新实例并分配一个密钥对
        3. 停止新实例
        4. 关注本教程https://community.spiceworks.com/how_to/159573-how-to-restore-your-aws-ec2-instance-from-a-snapshot
        5. 启动新实例

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2014-08-16
          • 1970-01-01
          • 2020-10-07
          • 1970-01-01
          • 1970-01-01
          • 2013-07-18
          • 2013-05-13
          • 1970-01-01
          相关资源
          最近更新 更多