【问题标题】:Amazon linux: Change default ec2-user when creating an ami imageAmazon linux:创建 ami 映像时更改默认 ec2-user
【发布时间】:2018-05-18 09:55:28
【问题描述】:

我正在尝试使用带有自定义用户/密码的 amazon linux 发行版创建 ami 映像。 我做了什么(手动):

  • 使用 amazon linux ami 午餐 amazon 实例
  • 使用用户ec2-user登录
  • 创建一个新用户,例如admin
  • 更改用户admin 的密码
  • 将用户admin添加到车轮组:usermod -aG wheel admin
  • 将用户 admin 添加到 sudoers 文件:sudo echo "admin ALL=NOPASSWD:ALL " > /etc/sudoers.d/admin
  • /etc/sshd/sshd_config(PermitRootLogin yes )允许ssh用户/pass登录
  • 重启ssh服务:/etc/init.d/ssh restart
  • 当我尝试使用用户 admin 登录时 - 成功。但是当创建一个 来自新创建的 ami 的新 ami 图像和午餐新实例, 通过用户登录 adminec2-user - Permission denied (publickey). 我错过了什么!

【问题讨论】:

标签: linux amazon-ec2 amazon


【解决方案1】:

问题是当您使用您创建的 AMI 启动实例时,EC2 服务不知道您的更改。我使用内置在 Amazon Linux 和其他官方 AMI 上的 Cloud-Init 找到了该问题的解决方案,完整的教程可以在这里找到:https://emagalha.es/blog/2018/01/21/customizing-the-default-user-of-an-ubuntu-ami/

简而言之,这是您需要做的:

  1. 使用 Amazon Linux AMI 启动实例,在用户数据字段中放置以下行:
#cloud-config
system_info:
  default_user:
    name: admin
  1. 使用 admin 用户连接到实例,并在 /etc/cloud/cloud.cfg.d/defaults.cfg 创建一个文件,该文件与您用于启动实例的用户数据文件的内容相同。

  2. 关闭实例并创建 AMI

  3. 享受吧!

您还可以使用新用户名更新实例内的/etc/cloud/cloud.cfg.d/00_defaults.cfg,而不是创建新文件。我只是喜欢创建一个新文件以使更改更加透明,无论如何,选择权在你。

【讨论】:

    猜你喜欢
    • 2011-09-02
    • 2017-03-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-12-06
    • 2011-12-28
    • 2018-10-04
    相关资源
    最近更新 更多