4.2. 使用 cloud-init 使云用户密码过期

您可以强制 cloud-user 在第一次登录时更改 cloud-user 密码。执行以下步骤使密码过期。

流程

  1. 根据数据源的要求,打开您的 user-data 文件进行编辑,或者在 cloud.cfg.d 目录中添加以下指令。

    注意

    所有用户指令都包括文件顶部的 #cloud-config,以便 cloud-init 将文件识别为包含用户指令。当您在 cloud.cfg.d 目录中包含指令时,将该文件命名为 *.cfg,且始终在文件的顶部包含 #cloud-config

  2. 将行 chpasswd: {expire: False} 改为 chpasswd: {expire: True}

    #cloud-config
    password: mypassword
    chpasswd: {expire: True}
    ssh_pwauth: True
    ssh_authorized_keys:
      - ssh-rsa AAA...SDvz user1@yourdomain.com
      - ssh-rsa AAB...QTuo user2@yourdomain.com

    这可让密码过期,因为除非您另有说明,否则 passwordchpasswd 只针对默认的用户执行操作。

    注意

    这是一个全局设置。当您将 chpasswd 设置为 True 时,您创建的所有用户都需要在登录时更改其密码。